class ImmutableFeatureDefinitionIdentifier implements DefinitionIdentifier {

    public static ImmutableFeatureDefinitionIdentifier ofParsed(final CharSequence featureDefinitionIdentifier) {
        checkNotNull(featureDefinitionIdentifier, "CharSequence-representation of the identifier");

        if (featureDefinitionIdentifier instanceof ImmutableFeatureDefinitionIdentifier) {
            return (ImmutableFeatureDefinitionIdentifier) featureDefinitionIdentifier;
        }
        return new ImmutableFeatureDefinitionIdentifier(
                ImmutableDefinitionIdentifier.ofParsed(featureDefinitionIdentifier)
        );
    }

    private  ImmutableFeatureDefinitionIdentifier(final DefinitionIdentifier delegate);
    private  ImmutableFeatureDefinitionIdentifier(final CharSequence theNamespace, final CharSequence theName,
            final CharSequence theVersion);

}