interface MyFunctionalInterface {
    int invokeMethodReference(int a);
}

interface MethodSupplier {
    default int m(int a) { return a; }
}

class MethodInvoker implements MethodSupplier {
    public static void invoke() {
        new MethodInvoker().doInvoke();
    }
    public void doInvoke() {
        MyFunctionalInterface instance = MethodSupplier.super::<Integer>m;
        instance.invokeMethodReference(1);
    }
}

public class Test {
    public static void main(String argv[]) throws Throwable {
        Class.forName("MethodInvoker").getMethod("invoke").invoke(null);
    }
}

