/** * Registers an action. * * @param action The action type. * @param transportAction The transport action implementing the actual action. * @param supportTransportActions Any support actions that are needed by the transport action. * @param <Request> The request type. * @param <Response> The response type. */ public <Request extends ActionRequest, Response extends ActionResponse> void registerAction( GenericAction<Request, Response> action, Class<? extends TransportAction<Request, Response>> transportAction, Class... supportTransportActions) { actions.put( action.name(), new ActionEntry<Request, Response>(action, transportAction, supportTransportActions)); }