{
ParameterizedType parameterizedType = (ParameterizedType) type;
Type[] typeArguments = parameterizedType.getActualTypeArguments();
Class<T> valueType = (Class<T>) resolveRealType(typeArguments[0]);
WithAttributes withAttributes = injectionPoint.getAnnotated().getAnnotation(WithAttributes.class);
char shortName = (withAttributes == null) ? InputComponents.DEFAULT_SHORT_NAME : withAttributes.shortName();
UIInputMany<T> input = createInputMany(name, shortName, valueType);
preconfigureInput(input, withAttributes);
for (InputComponentInjectionEnricher enricher : enrichers)
{
enricher.enrich(injectionPoint, input);