public static <T> ProvidableField from(Collection<Class<? extends Annotation>> qualifiers, final Field field ) { assertFieldTypeIsIterable( field ); field.setAccessible( true ); final Class collectionType = identifyWhichTypeThisCollectionHas(field); return new ManyElementsProvidableField<>( field, (Class<T>)collectionType, new QualifierCondition<>( qualifiers ), new FieldProviderContext( qualifiers, field ) ); }