Backport of Java 8's lambda expressions to Java 7, 6 and 5