// ITD of a method onto a generic inner type - failing example, passes wrongly typed parameter on the call interface I { interface J< T > {} } aspect Bang { public int I.J.intro(T t) {return 42;} } class Impl implements I { class InnerImpl implements J { } } public class ExampleB { public static void main(String []argv) { Impl i = new Impl(); Impl.InnerImpl j = i.new InnerImpl(); System.out.println(j.intro(8)); } }