private void loadClassToCache(String key, Class clazz, String methodName) {
        Method jsonMethod = null;
        Method[] methods = clazz.getMethods();
        for (Method method : methods) {
            if (methodName.equals(method.getName()) && !method.isBridge()) {
                jsonMethod = method;
                break;
            }
        }
        if (jsonMethod == null) {
            throw new SofaRpcRuntimeException(LogCodes.getLog(LogCodes.ERROR_METHOD_NOT_FOUND, clazz.getName(),
                methodName));
        }

        // parse request types
        Type[] parameterTypes = jsonMethod.getGenericParameterTypes();
        JavaType[] javaTypes = new JavaType[parameterTypes.length];
        for (int i = 0; i < parameterTypes.length; i++) {
            JavaType javaType = mapper.getTypeFactory().constructType(parameterTypes[i]);
            javaTypes[i] = javaType;
        }
        getRequestCache().put(key, javaTypes);

        // parse response types
        Type resType = jsonMethod.getGenericReturnType();
        if (resType == void.class) {
            throw new SofaRpcRuntimeException(LogCodes.getLog(LogCodes.ERROR_VOID_RETURN, "jackson", clazz.getName()));
        }
        JavaType resJavaType = mapper.getTypeFactory().constructType(resType);
        getResponseCache().put(key, resJavaType);
    }
load method paramters and return types to cache, will not pass through to next

@param key        key
@param clazz      interface name
@param methodName method name
codec/codec-jackson/src/main/java/com/alipay/sofa/rpc/codec/jackson/JacksonHelper.java