docs: private void writeSlot(T data, Throwable error) {
      dataLock.lock();
      try {
        this.error = error;
        this.data = data;
        availableCondition.signalAll();
      } finally {
        dataLock.unlock();
      }
    }