According to the Fusion manual, "after" is used like this:

   $eventA : Foo(...)
   $eventB : Bar( this after[0ms,1h] $eventA )

provided Foo and Bar have @role(event).

This works.

But, given a class Wrapper( Foo foo ), the pattern combination
   Wrapper( $eventA : foo )
   $eventB : Bar( this after[0ms,1h] $eventA )
results in a class cast exception at runtime, telling me that a Foo cannot be cast to a org.drools.common.EventFactHandle.

Working around this by doing
  Wrapper( $foo: foo )
  $eventA : Foo( this == $foo )
  $eventB : Bar( this after[0ms,1h] $eventA )

solves the problem, but is this really necessary and intentional? (The documentation doesn't even hint at such a restriction.)

-W