     fileprivate func parseNode(_ node: XMLIndexer, groupStyle: [String: String] = [:]) -> Node? {
         if let element = node.element {
             if element.name == "g" {
-                return parseGroup(node, groupStyle: groupStyle, firstPass: false)
+                return parseGroup(node, groupStyle: groupStyle)
             } else if element.name == "clipPath" {
                 if let id = element.allAttributes["id"]?.text, let clip = parseClip(node) {
                     self.defClip[id] = clip

        let style = getStyleAttributes(groupStyle, element: element)
        let position = getPosition(element)
        group.children.forEach { child in
            if firstPass, let node = parseFirstPassNode(child, groupStyle: style) {
                groupNodes.append(node)
            }
            if !firstPass, let node = parseNode(child, groupStyle: style) {
                groupNodes.append(node)
            }
        }

            return .none
        }
    }
    
    fileprivate func parseFirstPassGroup(_ group: XMLIndexer, groupStyle: [String: String] = [:]) -> Group? {
        guard let element = group.element else {
            return .none
        }
        let style = getStyleAttributes(groupStyle, element: element)
        group.children.forEach { child in
            let _ = parseFirstPassNode(child, groupStyle: style)
        }
        return nil
    }
    
    fileprivate func parseGroup(_ group: XMLIndexer, groupStyle: [String: String] = [:]) -> Group? {
        guard let element = group.element else {
            return .none
        }
