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

@return new ComponentId(componentId), or null if the input string is null
component/src/main/java/com/yahoo/component/ComponentId.java