public class Code { public static void main(String []argv) { } } class Outer { class Inner { T t; Inner(T t) { this.t =t ; } } public Inner m() {return null;} public Outer.Inner m2() { Outer os = new Outer(); return os.new Inner("foo"); } public Outer.Inner m3() {return null;} }