--- /dev/null
+public aspect AspectX
+{
+ public A AspectXMarker<A,B>.doSomething(B b) { return null; }
+}
+
--- /dev/null
+public interface AspectXMarker <A, B extends BInterface<?> > extends
+FooInterface<A, B>
+{ }
+
--- /dev/null
+public interface BInterface<S> { }
+
--- /dev/null
+public class Foo<B extends BInterface<?>> implements AspectXMarker<Integer, B>
+{}
--- /dev/null
+public interface FooInterface<A,B>
+{
+ public A doSomething(B transition);
+}
+
--- /dev/null
+public class Test
+{
+ public static void main(String[] args)
+ {
+ Foo<BInterface<Integer>> foo = new Foo<BInterface<Integer>>();
+
+ foo.doSomething(null);
+ }
+}