/// <summary>
        ///
        /// </summary>
        public ISourceOrderExecution ObtainOrderExecutionProvider(ComponentId sourceId, ComponentId dataSourceId)
        {
            ISourceOrderExecution result = GetOrderExecutionProvider(sourceId);

            if (result != null)
            {
                return(result);
            }

            result = CreateExecutionProvider(sourceId, dataSourceId);

            if (result != null)
            {
                AddElement(sourceId, result);
                result.Initialize();
            }

            return(result);
        }