@Override public OptionalInt min() { Integer value = performOperation( TerminalFunctions.minIntFunction(), false, (i1, i2) -> { if (i1 != null) { if (i2 != null) { return i1 > i2 ? i2 : i1; } return i1; } return i2; }, null); if (value == null) { return OptionalInt.empty(); } else { return OptionalInt.of(value); } }