question: protected void collectProperties ( Class < ? > type , Type < ? > referenceType , Map < String , Property > properties ) { try { BeanInfo beanInfo = Introspector . getBeanInfo ( type ) ; PropertyDescriptor [ ] descriptors = beanInfo . getPropertyDescriptors ( ) ; for ( final PropertyDescriptor pd : descriptors ) { try { Method readMethod = getReadMethod ( pd , type ) ; Method writeMethod = getWriteMethod ( pd , type , null ) ; Property property = processProperty ( pd . getName ( ) , pd . getPropertyType ( ) , readMethod , writeMethod , type , referenceType , properties ) ; postProcessProperty ( property , pd , readMethod , writeMethod , type , referenceType , properties ) ; } catch ( final Exception e ) { throw new RuntimeException ( "Unexpected error while trying to resolve property " + referenceType . getCanonicalName ( ) + ", [" + pd . getName ( ) + "]" , e ) ; } } } catch ( IntrospectionException e ) { throw new RuntimeException ( e ) ; } }
target:  Collects all properties for the specified type.