public int action(String fault,String action){
  Integer current=get(fault);
  if (current == null)   throw new IllegalArgumentException(fault);
  boolean no=action.startsWith("no");
  if (no)   action=action.substring(2);
  Integer bit=getAction(action);
  if (bit == null)   throw new IllegalArgumentException(action);
  int old=current.intValue();
  int mask=bit.intValue();
  int n=(old & (~mask));
  n=(no) ? n : (n | mask);
  put(fault,new Integer(n));
  return n;
}

public int action ( String fault , String action ) { Integer current = get ( fault ) ; if ( current == null ) throw new IllegalArgumentException ( fault ) ; boolean no = action . startsWith ( "no" ) ; if ( no ) action = action . substring ( 2 ) ; Integer bit = getAction ( action ) ; if ( bit == null ) throw new IllegalArgumentException ( action ) ; int old = current . intValue ( ) ; int mask = bit . intValue ( ) ; int n = ( old & ( ~ mask ) ) ; n = ( no ) ? n : ( n | mask ) ; put ( fault , new Integer ( n ) ) ; return n ; }
sets the action bits as appropriate for the given fault and action
