@Override
    public boolean isDone() {
      List<TaskFuture<?>> delegates;
      synchronized (this) {
        delegates = myDelegates;
        if (delegates == null) {
          return false;
        }
      }
      for (TaskFuture<?> delegate : delegates) {
        if (!delegate.isDone()) {
          return false;
        }
      }
      return true;
    }
@Override
    public boolean isDone()