public class Code { public static void main(String[]argv) { } public void foo(UID x) { bar((x instanceof UID ? E.one : E.two)); } public static void bar(FM fm) { } } aspect X { void around(): execution(* foo(..)) { } } class E { static BBB one; static CCC two; class BBB extends FM {} class CCC extends FM {} } class FM {} class UID {}