public static Type resolveReturnType(final Type baseType, final Type overridingType) {
        if (baseType instanceof Class && overridingType instanceof Class
                && ((Class<?>) baseType).isAssignableFrom((Class<?>) overridingType)) {
            // NOTE: javac generates multiple same methods for multiple inherited generic interfaces
            return overridingType;
        }
        if (baseType instanceof Class && overridingType instanceof ParameterizedType) {
            // NOTE: javac will generate multiple methods with different return types
            // base interface declares generic method, override declares parameterized generic method
            return overridingType;
        }
        if (baseType instanceof Class && overridingType instanceof TypeVariable) {
            // NOTE: javac will generate multiple methods with different return types
            // base interface declares non generic method, override declares generic method
            return overridingType;
        }
        return baseType;
    }
resolveReturnType.

@param baseType baseType
@param overridingType overridingType
@return {@link Type}
shenyu-sdk/shenyu-sdk-core/src/main/java/org/apache/shenyu/sdk/core/util/Types.java