public override Task SafeExecute(QueryContext <IPipeline> args)
        {
            var xmlElement = args.GetPropertyValueOrNull <XElement>(GetPipelineProperties.XElement);

            if (xmlElement == null)
            {
                args.AbortPipelineWithErrorAndNoResult("Xml element is null.");
                return(Done);
            }

            var tagName = args.GetPropertyValueOrNull <string>(GetPipelineProperties.ProcessorTagName);

            if (!xmlElement.HasElements || !xmlElement.Elements(tagName).Any())
            {
                args.AbortPipelineWithErrorAndNoResult("Xml element has no children. Cannot create pipeline.");
                return(Done);
            }

            return(Done);
        }