protected synchronized void addTransitionListener(Hashtable<TxState,Hashtable<TxState,Set<EventListener>>> listeners,EventListener lstnr,TxState from,TxState to){
  Hashtable<TxState,Set<EventListener>> lstnrs=listeners.get(from);
  if (lstnrs == null)   lstnrs=new Hashtable<TxState,Set<EventListener>>();
  Set<EventListener> tolstnrs=lstnrs.get(to);
  if (tolstnrs == null)   tolstnrs=new HashSet<EventListener>();
  if (!tolstnrs.contains(lstnr))   tolstnrs.add(lstnr);
  lstnrs.put(to,tolstnrs);
  listeners.put(from,lstnrs);
}

protected synchronized void addTransitionListener ( Hashtable < TxState , Hashtable < TxState , Set < EventListener > > > listeners , EventListener lstnr , TxState from , TxState to ) { Hashtable < TxState , Set < EventListener > > lstnrs = listeners . get ( from ) ; if ( lstnrs == null ) lstnrs = new Hashtable < TxState , Set < EventListener > > ( ) ; Set < EventListener > tolstnrs = lstnrs . get ( to ) ; if ( tolstnrs == null ) tolstnrs = new HashSet < EventListener > ( ) ; if ( ! tolstnrs . contains ( lstnr ) ) tolstnrs . add ( lstnr ) ; lstnrs . put ( to , tolstnrs ) ; listeners . put ( from , lstnrs ) ; }
help function for adding transition listeners .
