{
for (Method proxyMethod : eventType.getEventType().baseListenerInterface().getDeclaredMethods())
{
if (isExactMatch(proxyMethod, targetMethod))
{
return (T) PROXY_FACTORY.createInvokerProxy(new ExactMatchInvoker(eventType, targetObject, targetMethod, proxyMethod), new Class[]{eventType.getEventType().baseListenerInterface()});
}
else if(isEventObjectAppendedMatch(proxyMethod, targetMethod))
{
return (T) PROXY_FACTORY.createInvokerProxy(new EventObjectAppendedInvoker(eventType, targetObject, targetMethod, proxyMethod), new Class[] {eventType.getEventType().baseListenerInterface()});
}