question: protected void addComponent ( XMLComponent component ) { if ( fComponents . contains ( component ) ) { return ; } fComponents . add ( component ) ; String [ ] recognizedFeatures = component . getRecognizedFeatures ( ) ; addRecognizedFeatures ( recognizedFeatures ) ; String [ ] recognizedProperties = component . getRecognizedProperties ( ) ; addRecognizedProperties ( recognizedProperties ) ; if ( recognizedFeatures != null ) { for ( int i = 0 ; i < recognizedFeatures . length ; i ++ ) { String featureId = recognizedFeatures [ i ] ; Boolean state = component . getFeatureDefault ( featureId ) ; if ( state != null ) { super . setFeature ( featureId , state . booleanValue ( ) ) ; } } } if ( recognizedProperties != null ) { for ( int i = 0 ; i < recognizedProperties . length ; i ++ ) { String propertyId = recognizedProperties [ i ] ; Object value = component . getPropertyDefault ( propertyId ) ; if ( value != null ) { super . setProperty ( propertyId , value ) ; } } } }
target:  Adds a component to the parser configuration. This method will also add all of the component's recognized features and properties to the list of default recognized features and properties.