https://medium.com/javarevisited/java-8-interface-changes-functional-interface-interview-questions-67acecda534d