private static IDictionary <string, object> Filter(this ExtraSupports.ContextData cosmosCtx)
        {
            var ret = new Dictionary <string, object>();

            if (cosmosCtx == null)
            {
                return(ret);
            }

            foreach (var item in cosmosCtx)
            {
                if (!item.Value.Output)
                {
                    continue;
                }
                if (ret.ContainsKey(item.Key))
                {
                    continue;
                }
                ret.Add(item.Key, item.Value.Value);
            }

            return(ret);
        }
        public static ContextData MergeContextData(this ContextData exceptionlessCtx, ExtraSupports.ContextData cosmosCtx)
        {
            if (exceptionlessCtx == null)
            {
                return(new ContextData(cosmosCtx.Filter()));
            }

            foreach (var item in cosmosCtx)
            {
                if (string.Compare(item.Key, ContextDataTypes.Exception, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    continue;
                }
                if (exceptionlessCtx.ContainsKey(item.Key))
                {
                    continue;
                }
                exceptionlessCtx.Add(item.Key, item.Value);
            }

            return(exceptionlessCtx);
        }