public static ComponentSpecification fromString(String componentSpecification) {
        try {
            return (componentSpecification != null) ?
                    new ComponentSpecification(componentSpecification) :
                    null;
        } catch (Exception e) {
            throw new IllegalArgumentException("Illegal component specification: '" + componentSpecification + "'", e);
        }
    }
Creates a component id from the id string form: name(:version?),
where version has the form 1(.2(.3(.identifier)?)?)?

@return null iff componentSpecification == null
component/src/main/java/com/yahoo/component/ComponentSpecification.java