package p;
class Test<T extends Runnable & M> {
/**
* @param m
*/
public static void foo(M m) {
m.m();
}
// Invoke "Introduce Indirection" on 'm2.m()'
void h(M2 m2) {
Test.foo(m2);
}
void f(T t) {
Test.foo(t);
}
}
interface M {
void m();
}
interface M2 extends M {
void m();
}