@SuppressWarnings({"unchecked"}) private <T> List<Class<? extends T>> findAcceptedHandlerParameters() { final List<Class<? extends T>> handlerParameters = new LinkedList<Class<? extends T>>(); for (Method m : ReflectionUtils.methodsOf(invoker.getTargetType())) { if (m.isAnnotationPresent(CommandHandler.class)) { handlerParameters.add((Class<T>) m.getParameterTypes()[0]); } } return handlerParameters; }