question: public void addTightSourceNode ( ASTNode reference ) { fTightSourceRangeNodes . add ( reference ) ; List < StructuralPropertyDescriptor > properties = reference . structuralPropertiesForType ( ) ; for ( Iterator < StructuralPropertyDescriptor > iterator = properties . iterator ( ) ; iterator . hasNext ( ) ; ) { StructuralPropertyDescriptor descriptor = iterator . next ( ) ; if ( descriptor . isChildProperty ( ) ) { ASTNode child = ( ASTNode ) reference . getStructuralProperty ( descriptor ) ; if ( child != null && isExtending ( child , reference ) ) { addTightSourceNode ( child ) ; } } else if ( descriptor . isChildListProperty ( ) ) { List < ? extends ASTNode > children = ( List < ? extends ASTNode > ) reference . getStructuralProperty ( descriptor ) ; for ( Iterator < ? extends ASTNode > iterator2 = children . iterator ( ) ; iterator2 . hasNext ( ) ; ) { ASTNode child = iterator2 . next ( ) ; if ( isExtending ( child , reference ) ) { addTightSourceNode ( child ) ; } } } } }
target:  Add the given node to the set of "tight" nodes.