/// <summary>
        /// Trace information about the SdkMessage that triggered the plugin
        /// </summary>
        /// <param name="_"></param>
        /// <param name="config"></param>
        private static void TraceTrigger(PluginExecutionContext _, PluginConfiguration config)
        {
            bool blnTraceMessageStack;

            bool.TryParse(config.UnsecureDictionary["TraceMessageStack"], out blnTraceMessageStack);

            if (blnTraceMessageStack)
            {
                StringBuilder messageStack = new StringBuilder();

                IPluginExecutionContext adam = _;
                do
                {
                    messageStack.AppendLine(adam.ToTraceableMessage());
                    adam = adam.ParentContext;
                } while (adam.ParentContext != null);
                adam = null;

                _.Trace(
                    "Plugin message stack: {0}{1}",
                    Environment.NewLine,
                    messageStack.ToString());
            }
            else
            {
                _.Trace(
                    "Plugin triggered by {0}",
                    _.ToTraceableMessage());
            }
        }