code: public <E extends Exception> int reduce(final int identity, final Try.IntBinaryOperator<E> accumulator) throws E {
          if (isEmpty()) {
              return identity;
          }
  
          int result = identity;
  
          for (int i = 0; i < size; i++) {
              result = accumulator.applyAsInt(result, elementData[i]);
          }
  
          return result;
      }
docs: This is equivalent to:
  <pre>
  <code>
  if (isEmpty()) {
  return identity;
  }
  
  int result = identity;
  
  for (int i = 0; i < size; i++) {
  result = accumulator.applyAsInt(result, elementData[i]);
  }
  
  return result;
  </code>
  </pre>
  
  @param identity
  @param accumulator
  @return