code: @SafeVarargs
      public final PromiseAggregator<V, F> add(Promise<V>... promises) {
          if (promises == null) {
              throw new NullPointerException("promises");
          }
          if (promises.length == 0) {
              return this;
          }
          synchronized (this) {
              if (pendingPromises == null) {
                  int size;
                  if (promises.length > 1) {
                      size = promises.length;
                  } else {
                      size = 2;
                  }
                  pendingPromises = new LinkedHashSet<Promise<V>>(size);
              }
              for (Promise<V> p : promises) {
                  if (p == null) {
                      continue;
                  }
                  pendingPromises.add(p);
                  p.addListener(this);
              }
          }
          return this;
      }
docs: Add the given {@link Promise}s to the aggregator.