import java.util.List; class A extends SuperA { public B getSomeB(SuperB b) { return null; } public static void main(String []argv) { A a = new A(); System.out.println(a.getSomeB(null)); } } class B extends SuperB { } abstract class SuperA { public abstract SuperB getSomeB(SuperB b); } class SuperB { } /* public privileged aspect A_ITD { declare parents: A extends SuperA; public B A.getSomeB(SuperB b) { return null; } } */