@SuppressWarnings("unchecked") protected void notifyReply(AbstractMRReply r,AbstractMRListener dest){
  Vector<AbstractMRListener> v;
synchronized (this) {
    v=(Vector<AbstractMRListener>)cmdListeners.clone();
  }
  int cnt=v.size();
  for (int i=0; i < cnt; i++) {
    AbstractMRListener client=v.elementAt(i);
    log.debug("notify client: {}",client);
    try {
      if (dest != client) {
        forwardReply(client,r);
      }
    }
 catch (    Exception e) {
      log.warn("notify: During reply dispatch to {}",client,e);
    }
  }
  if (dest != null) {
    forwardReply(dest,r);
  }
}

@ SuppressWarnings ( "unchecked" ) protected void notifyReply ( AbstractMRReply r , AbstractMRListener dest ) { Vector < AbstractMRListener > v ; synchronized ( this ) { v = ( Vector < AbstractMRListener > ) cmdListeners . clone ( ) ; } int cnt = v . size ( ) ; for ( int i = 0 ; i < cnt ; i ++ ) { AbstractMRListener client = v . elementAt ( i ) ; log . debug ( "notify client: {}" , client ) ; try { if ( dest != client ) { forwardReply ( client , r ) ; } } catch ( Exception e ) { log . warn ( "notify: During reply dispatch to {}" , client , e ) ; } } if ( dest != null ) { forwardReply ( dest , r ) ; } }
forward a " reply " from layout to registered listeners .
