class RpcServerHandler implements MessageHandler {
        private final Class<?>[] paramClass = new Class[]{Map.class};
        private final AdminHandler adminHandler;

        public RpcServerHandler(AdminHandler adminHandler) {
            this.adminHandler = adminHandler;
        }

        @Override
        public Object handle(Channel channel, Object message) {
            if (channel == null || message == null) {
                throw new MotanFrameworkException("AdminRpcServer handler(channel, message) params is null");
            }

            if (!(message instanceof Request)) {
                throw new MotanFrameworkException("AdminRpcServer message type not support: " + message.getClass());
            }

            Request request = (Request) message;
            // process parameter, the parameter type is unified as Map<String, String>
            processLazyDeserialize(request);
            Response response = adminHandler.handle(request);
            response.setSerializeNumber(request.getSerializeNumber());
            response.setRpcProtocolVersion(request.getRpcProtocolVersion());
            return response;
        }

        protected void processLazyDeserialize(Request request) {<FILL_FUNCTION_BODY>}
    }

            if (request.getArguments() != null && request.getArguments().length == 1
                    && request.getArguments()[0] instanceof DeserializableObject
                    && request instanceof DefaultRequest) {
                try {
                    Object[] args = ((DeserializableObject) request.getArguments()[0]).deserializeMulti(paramClass);
                    ((DefaultRequest) request).setArguments(args);
                } catch (IOException e) {
                    throw new MotanFrameworkException("deserialize parameters fail: " + request + ", error:" + e.getMessage());
                }
            }
        
<no_super_class>