private boolean notifyPersistentConnectionListener(HttpMessage httpMessage,Socket inSocket,ZapGetMethod method){
  boolean keepSocketOpen=false;
  PersistentConnectionListener listener=null;
synchronized (persistentConnectionListener) {
    for (int i=0; i < persistentConnectionListener.size(); i++) {
      listener=persistentConnectionListener.get(i);
      try {
        if (listener.onHandshakeResponse(httpMessage,inSocket,method)) {
          keepSocketOpen=true;
          break;
        }
      }
 catch (      Exception e) {
        logger.warn(e.getMessage(),e);
      }
    }
  }
  return keepSocketOpen;
}

private boolean notifyPersistentConnectionListener ( HttpMessage httpMessage , Socket inSocket , ZapGetMethod method ) { boolean keepSocketOpen = false ; PersistentConnectionListener listener = null ; synchronized ( persistentConnectionListener ) { for ( int i = 0 ; i < persistentConnectionListener . size ( ) ; i ++ ) { listener = persistentConnectionListener . get ( i ) ; try { if ( listener . onHandshakeResponse ( httpMessage , inSocket , method ) ) { keepSocketOpen = true ; break ; } } catch ( Exception e ) { logger . warn ( e . getMessage ( ) , e ) ; } } } return keepSocketOpen ; }
go thru each listener and offer him to take over the connection . the first observer that returns true gets exclusive rights .
