/// <summary>
        /// Generate the necessary parameters
        /// </summary>
        public List <KeyValuePair <string, string> > GetParams()
        {
            var p = new List <KeyValuePair <string, string> >();

            if (ConfigurationUrl != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.Url", ConfigurationUrl));
            }

            if (ConfigurationMethod != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.Method", ConfigurationMethod.ToString()));
            }

            if (ConfigurationFilters != null)
            {
                p.AddRange(ConfigurationFilters.Select(prop => new KeyValuePair <string, string>("Configuration.Filters", prop)));
            }

            if (ConfigurationTriggers != null)
            {
                p.AddRange(ConfigurationTriggers.Select(prop => new KeyValuePair <string, string>("Configuration.Triggers", prop)));
            }

            if (ConfigurationFlowSid != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.FlowSid", ConfigurationFlowSid.ToString()));
            }

            return(p);
        }
        /// <summary>
        /// Generate the necessary parameters
        /// </summary>
        public List <KeyValuePair <string, string> > GetParams()
        {
            var p = new List <KeyValuePair <string, string> >();

            if (Target != null)
            {
                p.Add(new KeyValuePair <string, string>("Target", Target.ToString()));
            }

            if (ConfigurationUrl != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.Url", ConfigurationUrl));
            }

            if (ConfigurationMethod != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.Method", ConfigurationMethod.ToString()));
            }

            if (ConfigurationFilters != null)
            {
                p.AddRange(ConfigurationFilters.Select(prop => new KeyValuePair <string, string>("Configuration.Filters", prop)));
            }

            if (ConfigurationTriggers != null)
            {
                p.AddRange(ConfigurationTriggers.Select(prop => new KeyValuePair <string, string>("Configuration.Triggers", prop)));
            }

            if (ConfigurationFlowSid != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.FlowSid", ConfigurationFlowSid.ToString()));
            }

            if (ConfigurationRetryCount != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.RetryCount", ConfigurationRetryCount.ToString()));
            }

            if (ConfigurationReplayAfter != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.ReplayAfter", ConfigurationReplayAfter.ToString()));
            }

            if (ConfigurationBufferMessages != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.BufferMessages", ConfigurationBufferMessages.Value.ToString().ToLower()));
            }

            if (ConfigurationBufferWindow != null)
            {
                p.Add(new KeyValuePair <string, string>("Configuration.BufferWindow", ConfigurationBufferWindow.ToString()));
            }

            return(p);
        }