private void invokeEventMethod(Event<Object> event, MethodAccess methodAccess, Object listener) { if (event.body() instanceof Object[]) { methodAccess.invokeDynamic(listener, (Object[]) event.body()); } else if (event.body() instanceof List) { final List body = (List) event.body(); methodAccess.invokeDynamic(listener, body.toArray(new Object[body.size()])); } else { methodAccess.invokeDynamic(listener, event.body()); } }