private boolean beginBlocking() {
    begin();
    synchronized (blockingThreads) {
      if (isOpen()) {
        blockingThreads.add(Thread.currentThread());
        return true;
      }

      return false;
    }
  }
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.
jimfs/src/main/java/com/google/common/jimfs/JimfsFileChannel.java