code: public static MutableIntTuple add(
          Collection<? extends IntTuple> tuples,
          MutableIntTuple result)
      {
          if (tuples.isEmpty()) 
          {
              return null;
          }
          int size = getSize(result, tuples);
          MutableIntTuple localResult = 
              tuples.parallelStream().collect(
                  () -> IntTuples.create(size), 
                  (r,t) -> IntTuples.add(r, t, r), 
                  (r0,r1) -> IntTuples.add(r0, r1, r0));
          if (result == null)
          {
              return localResult;
          }
          result.set(localResult);
          return result;
      }
docs: Computes the component-wise sum of the given collection
  of tuples.<br>
  <br>
  If the given collection is not empty, and the given result is
  <code>null</code>, then a new tuple with the same
  {@link Tuple#getSize() size} as the first tuple of the collection
  will be created internally.
  <br>
  
  @param tuples The input tuples
  @param result The result tuple
  @return The result, or <code>null</code> if the given collection is empty
  @throws IllegalArgumentException If the given result is not
  <code>null</code>, and has a {@link Tuple#getSize() size}
  that is different from that of the input tuples.