This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
public interface Function<T,V>
extends java.util.function.Function<T,V>, java.io.Serializable
Function is a one-argument lambda which performs a transformation on the object of type T
passed to the valueOf() method. This transformation can return the value of calling a getter, or perform
some more elaborate logic to calculate a value, of type V.