code: private boolean beginBlocking() {
      begin();
      synchronized (blockingThreads) {
        if (isOpen()) {
          blockingThreads.add(Thread.currentThread());
          return true;
        }
  
        return false;
      }
    }
docs: Begins a blocking operation, making the operation interruptible. Returns {@code true} if the
  channel was open and the thread was added as a blocking thread; returns {@code false} if the
  channel was closed.