class NewSource {
  private static final String VERSION = "2.0";
  public static final String SOURCE_MODULE = "Source module {}";

  public int accumulateSum(int... nums) {
    LOGGER.info(SOURCE_MODULE, VERSION);
    return Arrays.stream(nums).reduce(0, Integer::sum);
  }

  /**
   * Implement accumulate multiply with new technique.
   * Replace old one in {@link OldSource}
   */
  public int accumulateMul(int... nums) {<FILL_FUNCTION_BODY>}

  public boolean ifNonZero(int... nums) {
    LOGGER.info(SOURCE_MODULE, VERSION);
    return Arrays.stream(nums).allMatch(num -> num != 0);
  }
}

    LOGGER.info(SOURCE_MODULE, VERSION);
    return Arrays.stream(nums).reduce(1, (a, b) -> a * b);
  
<no_super_class>