What is the purpose of BiFunction<T,U,R> functional interface in Java8?
It represents a function that accepts two arguments and produces a result.