question: public boolean add ( AccessibleRelation relation ) { if ( relations == null ) { relations = new Vector ( ) ; } AccessibleRelation existingRelation = get ( relation . getKey ( ) ) ; if ( existingRelation == null ) { relations . addElement ( relation ) ; return true ; } else { Object [ ] existingTarget = existingRelation . getTarget ( ) ; Object [ ] newTarget = relation . getTarget ( ) ; int mergedLength = existingTarget . length + newTarget . length ; Object [ ] mergedTarget = new Object [ mergedLength ] ; for ( int i = 0 ; i < existingTarget . length ; i ++ ) { mergedTarget [ i ] = existingTarget [ i ] ; } for ( int i = existingTarget . length , j = 0 ; i < mergedLength ; i ++ , j ++ ) { mergedTarget [ i ] = newTarget [ j ] ; } existingRelation . setTarget ( mergedTarget ) ; } return true ; }
target:  Adds a new relation to the current relation set.  If the relation is already in the relation set, the target(s) of the specified relation is merged with the target(s) of the existing relation. Otherwise,  the new relation is added to the relation set.