private List < Field > collectionDeclaredFieldCandidates ( final Object injectedValue , final Class < ? > targetClass ) { final List < Field > fieldCandidates = new ArrayList <> ( ) ; for ( final Field field : targetClass . getDeclaredFields ( ) ) { if ( this . isFieldCandidate ( field , injectedValue ) ) { fieldCandidates . add ( field ) ; } } return fieldCandidates ; }
Collects all declared fields from the targetClass that are type - compatible with the class of the injected value into the fieldCandidates list .