import java.util.function.Supplier; interface Main { interface X { X self(); } static X makeX() {return null;} static X create(Supplier supplier) {return null;} static X> methodRef() { // Javac compiles this, ECJ does not. See IDEA-378878. return create(Main::makeX).self(); } static X> lambda() { return create(() -> makeX()).self(); } }