     case List([XMLElement])
     case Stream(IndexOps)
     case XMLError(IndexingError)
-
 
     /// The underlying XMLElement at the currently indexed level of XML.
     public var element: XMLElement? {

            return
        }
#if os(Linux)
        let attributeNSDict = NSDictionary(objects: attributeDict.values.flatMap({ $0 as? AnyObject }), forKeys: attributeDict.keys.map({ NSString(string: $0) as NSObject }))
        let currentNode = parentStack.top().addElement(elementName, withAttributes: attributeNSDict)
#else
        let currentNode = parentStack.top().addElement(elementName, withAttributes: attributeDict as NSDictionary)
#endif
        parentStack.push(currentNode)
    }

    /// The name of the element
    public let name: String

    // swiftlint:disable line_length
    /// The attributes of the element
    @available(*, deprecated, message: "See `allAttributes` instead, which introduces the XMLAttribute type over a simple String type")
    public var attributes: [String:String] {
