docs: @Override
      public T get() throws InterruptedException {
          while (true) {
              synchronized (this) {
                  if (completed) {
                      return results == null || results.isEmpty()
                          ? null
                          : results.get(0);
                  }
                  wait();
              }
          }
      }