docs: @Override
      public void handleOps(int ops) {
          if ((ops & SelectionKey.OP_ACCEPT) == 0 || closing) {
              return;
          }
          synchronized (channels) {
              if (connLimiter != null && !connLimiter.tryAcquire()) {
                  return;
              }
              try {
                  SocketChannel socketChannel = serverSocketChannel.accept();
                  if (socketChannel == null) {
                      // "False alarm"
                      if (connLimiter != null) {
                          connLimiter.release();
                      }
                      return;
                  }
                  channels.add(new TcpChannelImpl(socketChannel));
              } catch (IOException e) {
                  fire(new IOError(null, e));
              }
          }
      }