docs: @SuppressWarnings({ "PMD.CollapsibleIfStatements",
          "PMD.GuardLogStatement" })
      public void awaitExhaustion() throws InterruptedException {
          synchronized (this) {
              if (generators != null) {
                  if (running != generators.size()) {
                      generatorTracking
                          .severe(() -> "Generator count doesn't match tracked.");
                  }
              }
              while (running > 0) {
                  if (generators != null) {
                      generatorTracking
                          .fine(() -> "Thread " + Thread.currentThread().getName()
                              + " is waiting, " + generators.size()
                              + " generators registered: "
                              + generators.keySet());
                  }
                  wait();
              }
              generatorTracking
                  .finest("Thread " + Thread.currentThread().getName()
                      + " continues.");
          }
      }