Regarding efficiency: Isn’t .filter(Optional::isPresent).map(Optional::get) better than .flatmap(Optional::stream)?
Optional::stream returns a Stream containing the value if it is present and else an empty stream. So for a Stream<Optional> optionals, optionals.flatMap(Optional::stream) returns a …