question: public static final Action [ ] augmentList ( Action [ ] list1 , Action [ ] list2 ) { Hashtable < String , Action > h = new Hashtable < String , Action > ( ) ; for ( Action a : list1 ) { String value = ( String ) a . getValue ( Action . NAME ) ; h . put ( ( value != null ? value : "" ) , a ) ; } for ( Action a : list2 ) { String value = ( String ) a . getValue ( Action . NAME ) ; h . put ( ( value != null ? value : "" ) , a ) ; } Action [ ] actions = new Action [ h . size ( ) ] ; int index = 0 ; for ( Enumeration e = h . elements ( ) ; e . hasMoreElements ( ) ; ) { actions [ index ++ ] = ( Action ) e . nextElement ( ) ; } return actions ; }
target:  Takes one list of commands and augments it with another list of commands.  The second list takes precedence over the first list; that is, when both lists contain a command with the same name, the command from the second list is used.