//internal _ExecutionStepFactory(List<ExCommsExecutionStepEntity> entities,
        //    StringConcurrentDictionary<bool> gmuExecutionStepsExecuting)
        internal _ExecutionStepFactory(string key, List <ExCommsExecutionStepEntity> entities, FreeformSecurityTableCollection securityTables)
        {
            //_gmuExecutionSteps = new StringConcurrentDictionary<ExecutionStepDictionary>();
            //_gmuExecutionStepsExecuting = gmuExecutionStepsExecuting;

            _key            = key;
            _entities       = entities;
            _securityTables = securityTables;
            _executionSteps = new ExecutionStepDictionary();
            _executionSteps.Entity.GmuIpAddress = key;
            _messageWiseSteps        = new StringConcurrentDictionary <ExecutionStepCollection>();
            _requestResponseMappings = new DoubleKeyConcurrentDictionary <string, string, RequestResponseMapItem>(
                null, StringComparer.OrdinalIgnoreCase, StringComparer.OrdinalIgnoreCase);
            _groupedSteps = new ExecutionStepGroupedDictionary();
            this.CreateExecutionSteps();
        }
        //internal _ExecutionStepFactory(List<ExCommsExecutionStepEntity> entities,
        //    StringConcurrentDictionary<bool> gmuExecutionStepsExecuting)
        internal _ExecutionStepFactory(string key, List<ExCommsExecutionStepEntity> entities, FreeformSecurityTableCollection securityTables)
        {
            //_gmuExecutionSteps = new StringConcurrentDictionary<ExecutionStepDictionary>();
            //_gmuExecutionStepsExecuting = gmuExecutionStepsExecuting;

            _key = key;
            _entities = entities;
            _securityTables = securityTables;
            _executionSteps = new ExecutionStepDictionary();
            _executionSteps.Entity.GmuIpAddress = key;
            _messageWiseSteps = new StringConcurrentDictionary<ExecutionStepCollection>();
            _requestResponseMappings = new DoubleKeyConcurrentDictionary<string, string, RequestResponseMapItem>(
                null, StringComparer.OrdinalIgnoreCase, StringComparer.OrdinalIgnoreCase);
            _groupedSteps = new ExecutionStepGroupedDictionary();
            this.CreateExecutionSteps();
        }