public InternalServiceContainer(ServiceAction sa, IDSFDataObject dataObj, IWorkspace theWorkspace, IEsbChannel esbChannel, EsbExecuteRequest request, IEsbManagementServiceLocator managementServiceLocator)
            : base(sa, dataObj, theWorkspace, esbChannel, request)
        {
            if (request.Args == null)
            {
                if (sa.DataListSpecification == null)
                {
                    sa.DataListSpecification = new StringBuilder("<DataList></DataList>");
                }
                var dataListTo = new DataListTO(sa.DataListSpecification.ToString());
                request.Args = new Dictionary <string, StringBuilder>();
                foreach (var input in dataListTo.Inputs)
                {
                    var warewolfEvalResult = dataObj.Environment.Eval(DataListUtil.AddBracketsToValueIfNotExist(input), 0);
                    if (warewolfEvalResult.IsWarewolfAtomResult && warewolfEvalResult is CommonFunctions.WarewolfEvalResult.WarewolfAtomResult scalarResult && !scalarResult.Item.IsNothing)
                    {
                        request.Args.Add(input, new StringBuilder(scalarResult.Item.ToString()));
                    }
                }
            }

            _managementServiceLocator = managementServiceLocator ?? new EsbManagementServiceLocator();
        }