docs: private void addInterest(SelectableChannel channel,
                             int operation,
                             ISelectHandler callback)
        throws ClosedChannelException {
  
      SelectionKey key = channel.keyFor(selector);
  
      if (key == null) {
        channel.register(selector, operation, callback);
      } else if (!key.isValid()) {
        throw new RuntimeException(
            String.format("Unable to add %d in %s due to key is invalid", operation, channel));
      } else {
        // Key is not null and key is valid
        if ((key.interestOps() & operation) != 0) {
          throw new RuntimeException(
              String.format("%d has been registered in %s", operation, channel));
        }
        if (key.attachment() == null) {
          key.attach(callback);
        } else {
          if (callback != key.attachment()) {
            throw new RuntimeException("Unmatched SelectHandler has already been attached"
                + " for other operation");
          }
          // If call == key.attachment
          // Just skip
        }
        key.interestOps(key.interestOps() | operation);
      }
    }