@Target(value=PARAMETER) @Retention(value=RUNTIME) public @interface Getter
For example if the event type has a method 'T getObject();' then you would annotate a parameter of type T with '@Getter("getObject")'.
For optional types the value of the parameter can be either
Optional
or the type of the enclosed object. If the type is the
enclosed type then the optional will be automatically unwrapped and if the
optional is not present then your event listener will not be called.
public abstract String value