code: public static Factor add(List<Factor> factors) {
      Preconditions.checkNotNull(factors);
      Preconditions.checkArgument(!factors.isEmpty());
      return factors.get(0).add(factors.subList(1, factors.size()));
    }
docs: Adds together {@code factors} and returns the result. This is a convenience
  wrapper around {@link Factor#add(Factor)}. {@code factors} cannot be empty.
  
  @param factors
  @return