public static EvaluationEngine Create(XDocument policyDoc, IXacmlPolicyRepository ch)
        {
            if (policyDoc == null)
            {
                throw new ArgumentNullException(nameof(policyDoc));
            }

            using (XmlReader reader = policyDoc.CreateReader()) {
                return(EvaluationEngineFactory.Create(reader, ch));
            }
        }
        public static EvaluationEngine Create(XmlDocument policyDoc, IXacmlPolicyRepository ch)
        {
            if (policyDoc == null)
            {
                throw new ArgumentNullException(nameof(policyDoc));
            }

#if NETSTANDARD1_6
            var stringReader = new System.IO.StringReader(policyDoc.DocumentElement.OuterXml);
            using (XmlReader reader = XmlReader.Create(stringReader)) {
#else
            using (XmlReader reader = new XmlNodeReader(policyDoc.DocumentElement)) {
#endif
                return(EvaluationEngineFactory.Create(reader, ch));
            }
        }