import java.util.*; class Base { } public class GenericMethodITD12 { public static void main(String[] argv) { List as = new ArrayList(); new Base().crazy(as); // A doesnt implement Foo } } interface Foo { public void m(T t); } class B {} class A implements Foo { public void m(B a) {} } aspect X { > void Base.crazy(List lr) {} }