This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
public interface Function2<T1,T2,R>
extends java.util.function.BiFunction<T1,T2,R>, java.io.Serializable
A Function2 is used by injectInto() methods. It takes the injected argument as the first argument, and the
current item of the collection as the second argument, for the first item in the collection. The result of each
subsequent iteration is passed in as the first argument.