code: private void startupAcceptor() {
          // If the acceptor is not ready, clear the queues
          // TODO : they should already be clean : do we have to do that ?
          if (!selectable) {
              registerQueue.clear();
              cancelQueue.clear();
          }
  
          // start the acceptor if not already started
          Acceptor acceptor = acceptorRef.get();
          if (acceptor == null) {
              acceptor = new Acceptor();
              if (acceptorRef.compareAndSet(null, acceptor)) {
                  executeWorker(acceptor);
              }
          }
      }
docs: This method is called by the doBind() and doUnbind()
  methods.  If the acceptor is null, the acceptor object will
  be created and kicked off by the executor.  If the acceptor
  object is null, probably already created and this class
  is now working, then nothing will happen and the method
  will just return.