But if it is intended to support _enabling_ of multiple interests, this is wrong " if ((currentOps & ops) == 0) key.interestOps(currentOps | ops)", I'll have to change it to be " if ((currentOps & ops) != ops) key.interestOps(currentOps | ops)" i.e. if not all bits are set, set them.