public static void InvokeSetIndex(object target, params object[] indexesThenValue)
        {
            string[] argNames;
            Type     context;
            bool     staticContext;

            target           = target.GetInvocationContext(out context, out staticContext);
            indexesThenValue = TypeFactorization.ExtractArgumentNamesAndValues(indexesThenValue, out argNames);

            CallSite theCallSite = null;

            InvocationMapping.InvokeSetIndexCallSite(target, indexesThenValue, argNames, context, staticContext,
                                                     ref theCallSite);
        }