docs: @Override
      public final boolean offer(T e, long timeout, TimeUnit unit) throws InterruptedException {
          final Queue<T> queue = this.getOrCreateQueue(e);
  
          final long start = getWriteLockWithOptionalWait(timeout, unit);
          if (start == Long.MIN_VALUE) {
              // Min value signals a timeout while waiting
              return false;
          }
          final long maxWait = start >= 0 ? unit.toMillis(timeout) : -1;
  
          try {
              if (!this.waitForRemove(start, maxWait)) {
                  return false;
              }
  
              final boolean added = queue.add(e);
              if (added) {
                  this.size++;
                  this.notEmpty.signal();
              }
              return added;
          } finally {
              this.writeLock.unlock();
          }
      }