The default implementation must support attaching this annotation
to UIComponent or Renderer classes. In both cases, the annotation
processing described herein must commence during the implementation
of any variant of Application.createComponent()
and must complete before the UIComponent instance is
returned from createComponent(). The annotation
processing must proceed according to an algorithm semantically
equivalent to the following.

If this annotation is not present on the class in
question, no action must be taken.

Determine the "target" on which to call
subscribeToEvent.

If the class to which this annotation is attached
implements ComponentSystemEventListener and is a
UIComponent instance, "target" is the
UIComponent instance.

If the class to which this annotation is attached
implements ComponentSystemEventListener and is a
Renderer instance, "target" is the
UIComponent instance that is to be rendered by
this Renderer instance.

If the class to which this annotation is attached
implements ComponentSystemEventListener and is neither
an instance of Renderer nor
UIComponent, the action taken is
unspecified. This case must not trigger any kind of error.

If the class to which this annotation is attached
implements SystemEventListener and does not
implement ComponentSystemEventListener, "target"
is the Application
instance.

Determine the variant of subscribeToEvent()to
call and the parameters to pass to it.

systemEventClass

The kind of system event for which
this class will be installed as a listener. The implementation
only supports exact matches on the Class and must
not honor subclass relationships. It is valid to have EL
Expressions in the value of this attribute, as long as the
expression resolves to an instance of the expected type.

sourceClass

public abstract java.lang.Class sourceClass

The kind of object that emits events
of the type given by the value of the systemEventClass()
attribute. It is valid to have EL Expressions in the value of
this attribute, as long as the expression resolves to an instance
of the expected type.