code: private int processConnections(Iterator<H> handlers) {
          int nHandles = 0;
          
          // Loop on each connection request
          while (handlers.hasNext()) {
              H handle = handlers.next();
              handlers.remove();
  
              ConnectionRequest connectionRequest = getConnectionRequest(handle);
              
              if ( connectionRequest == null) {
                  continue;
              }
              
              boolean success = false;
              try {
                  if (finishConnect(handle)) {
                      T session = newSession(processor, handle);
                      initSession(session, connectionRequest, connectionRequest.getSessionInitializer());
                      // Forward the remaining process to the IoProcessor.
                      session.getProcessor().add(session);
                      nHandles ++;
                  }
                  success = true;
              } catch (Throwable e) {
                  connectionRequest.setException(e);
              } finally {
                  if (!success) {
                      // The connection failed, we have to cancel it.
                      cancelQueue.offer(connectionRequest);
                  }
              }
          }
          return nHandles;
      }
docs: Process the incoming connections, creating a new session for each
  valid connection.