import java.util.*; class C { Set simple_local; Set> nested_local; } aspect Inter_Type_Injector { Set C.simple_intertype; Set> C.nested_intertype; public void test() { Set simple_local = new C().simple_local; // works Set simple_intertype = new C().simple_intertype; // works Set> nested_local = new C().nested_local; // works Set> nested_intertype = new C().nested_intertype; // fails } }