docs: public void waitUntilComplete() {
          lock.lock();
          try {
              while(processing || count.get() > 0) {
                  try {
                      processing_done.await();
                  }
                  catch(InterruptedException ignored) {
                  }
              }
          }
          finally {
              lock.unlock();
          }
      }