In JDK 8 and below, javac generates synthetic null-checks by calling Object.getClass. Starting in JDK 9, Objects.requireNonNull() is used if it is available (see JDK-8074306).
This prevents retrolambda users from compiling code with JDK9 and running it on JDK6 or below, since java.util.Objects was introduced in JDK7.
When targeting JDK < 7, retrolambda should rewrite the generated calls to requireNonNull.