private static RequestHandler BuildGenericHandler(
Type targetType, Type invokePayloadType, Type returnPayloadType, MethodInfo method, FilterChain filterChain)
{
var argTypes = invokePayloadType.GetGenericArguments();
var genericReturnPayloadType = returnPayloadType?.MakeGenericType(argTypes);
var genericMethod = method.MakeGenericMethod(argTypes.Skip(argTypes.Length - method.GetGenericArguments().Length).ToArray());
return BuildHandler(targetType, invokePayloadType, genericReturnPayloadType, genericMethod, filterChain);
}