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;
}

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 ; }
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 .
