         }
         flushContent()
     }
-    
-    // MARK: - Private
+}
+
+
+// MARK: - Private
+
+private extension AshtonXMLParser {
     
     func parseTag(_ iterator: inout String.UnicodeScalarView.Iterator) {
 

            
            if nextChar == ">" {
                self.delegate?.didOpenTag(self, name: .span, attributes: nil)
            } else if nextChar == " " {
                let attributes = self.parseAttributes(&iterator)
                self.delegate?.didOpenTag(self, name: .span, attributes: attributes)

        
        while let character = iterator.next() {
            switch character {
            case "<":
                flushContent()
                self.parseTag(&iterator)
            case "&":
                if let escapedChar = iterator.parseEscapedChar() {
                    parsedScalars.append(escapedChar)
                } else {
