docs: private boolean waitForRemove(long waitStart, long maxWait) throws InterruptedException {
          if (this.size == this.capacity) {
              if (!waitOnCondition(this.notFull, maxWait, waitStart)) {
                  return false;
              }
          }
  
          return true;
      }