}
final Class<?> targetType = ReflectionHelper.erasure(targetGenericType);
Set<ValueFactoryProvider> providers = Sets.filter(Providers.getProviders(locator, ValueFactoryProvider.class),
concreteValueFactoryClassFilter);
final ValueFactoryProvider valueFactoryProvider = providers.iterator().next(); // get first provider in the set
final Parameter parameter = Parameter.create(
componentClass,
componentClass,
hasEncodedAnnotation(injectee),
targetType,
targetGenericType,
annotations);
final Factory<?> valueFactory = valueFactoryProvider.getValueFactory(parameter);
if (valueFactory != null) {
if (isHk2Factory) {
return valueFactory;
} else {
return valueFactory.provide();