class ServiceRpcStrategyInterceptor extends AbstractInterceptor {
    @Override
    public Object invoke(MethodInvocation invocation) throws Throwable {<FILL_FUNCTION_BODY>}
}

        boolean hasInitBinderAnnotation = getMethod(invocation).isAnnotationPresent(InitBinder.class);
        if (hasInitBinderAnnotation) {
            return invocation.proceed();
        }

        Class<?> clazz = getMethod(invocation).getDeclaringClass();
        String methodName = getMethodName(invocation);
        String[] methodParameterNames = getMethodParameterNames(invocation);
        Object[] arguments = getArguments(invocation);
        Map<String, Object> parameterMap = ClassUtil.getParameterMap(methodParameterNames, arguments);

        RpcStrategyContext context = RpcStrategyContext.getCurrentContext();
        context.add(DiscoveryConstant.CLASS, clazz);
        context.add(DiscoveryConstant.METHOD, methodName);
        context.add(DiscoveryConstant.PARAMETER_MAP, parameterMap);

        try {
            return invocation.proceed();
        } finally {
            RpcStrategyContext.clearCurrentContext();
        }
    
<no_super_class>