code: public <E extends Exception> Nullable<T> reduce(Try.BinaryOperator<T, E> accumulator) throws E {
          N.checkArgNotNull(accumulator);
  
          if (isEmpty()) {
              return Nullable.empty();
          }
  
          final Iterator<T> iter = iterator();
          T result = iter.next();
  
          while (iter.hasNext()) {
              result = accumulator.apply(result, iter.next());
          }
  
          return Nullable.of(result);
      }
docs: This is equivalent to:
  <pre>
  <code>
  if (isEmpty()) {
  return Nullable.empty();
  }
  
  final Iterator<T> iter = iterator();
  T result = iter.next();
  
  while (iter.hasNext()) {
  result = accumulator.apply(result, iter.next());
  }
  
  return Nullable.of(result);
  </code>
  </pre>
  
  @param accumulator
  @return