class FieldReferringClassFactory {

    public static ValueProvider create(Class<?> targetClass, String identifier, String propertyName) {
        String key = nameForType(targetClass, propertyName) + '$' + identifier;
        return valueProviders.computeIfAbsent(key, k -> createFieldReferringInstance(targetClass, identifier, propertyName));
    }

    private  FieldReferringClassFactory();

}