class P> { } class MM> { H last; void m(final Function, P> function) { generate(last, function); } public static void generate(E first, Function generator) { } } interface Function {}