Backport of Java 8's lambda expressions to Java 7 and lower