    /*

    Siesta 5.3.0
    Copyright(c) 2009-2019 Bryntum AB
    https://bryntum.com/contact
    https://bryntum.com/products/siesta/license

    */
    Role('Ariadne.DomQueryFinder.TreeWalker', {

        methods         : {

            getParent   : function (el) {
                return el.parentNode
            },

            contains : function (parentEl, childEl) {
                if (parentEl.contains)  return parentEl.contains(childEl)

                // SVG elements in IE does not have "contains" method
                if (parentEl.compareDocumentPosition)
                    return parentEl === childEl || Boolean(parentEl.compareDocumentPosition(childEl) & 16)

                throw new Error("Can't determine `contains` status")
            }
        }
    });