private synchronized @NotNull List<TaskFuture<?>> getDelegates() {
      List<TaskFuture<?>> delegates = myDelegates;
      while (delegates == null) {
        try {
          wait();
        }
        catch (InterruptedException ignored) {
        }
        delegates = myDelegates;
      }
      return delegates;
    }
private synchronized @NotNull List<TaskFuture<?>> getDelegates()