String[] params = new String[0];
if (typeMapping != null) {
params = StringUtils.mergeStringArrays(typeMapping.params(), params);
}
ActionMapping actionMapping = AnnotationUtils.findAnnotation(method, ActionMapping.class);
RenderMapping renderMapping = AnnotationUtils.findAnnotation(method, RenderMapping.class);
ResourceMapping resourceMapping = AnnotationUtils.findAnnotation(method, ResourceMapping.class);
EventMapping eventMapping = AnnotationUtils.findAnnotation(method, EventMapping.class);
RequestMapping requestMapping = AnnotationUtils.findAnnotation(method, RequestMapping.class);
if (actionMapping != null) {
params = StringUtils.mergeStringArrays(params, actionMapping.params());
predicate = new ActionMappingPredicate(actionMapping.value(), params);
}
else if (renderMapping != null) {
params = StringUtils.mergeStringArrays(params, renderMapping.params());
predicate = new RenderMappingPredicate(renderMapping.value(), params);
}
else if (resourceMapping != null) {
predicate = new ResourceMappingPredicate(resourceMapping.value());
}
else if (eventMapping != null) {