docs: public int drainToBlocking(Collection<? super T> c, int max_elements) throws InterruptedException {
          lock.lockInterruptibly(); // fail fast
          try {
              while(count == 0)
                  not_empty.await();
              return drainTo(c, max_elements);
          }
          finally {
              lock.unlock();
          }
      }