class org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor extends org.apache.commons.configuration2.BaseHierarchicalConfiguration$BuilderVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor
  super_class: org.apache.commons.configuration2.BaseHierarchicalConfiguration$BuilderVisitor
{
  private final org.w3c.dom.Document document;
    descriptor: Lorg/w3c/dom/Document;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<org.w3c.dom.Node, org.w3c.dom.Node> elementMapping;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;>;

  private final java.util.Map<org.apache.commons.configuration2.tree.ImmutableNode, org.w3c.dom.Element> newElements;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/w3c/dom/Element;>;

  private final org.apache.commons.configuration2.convert.ListDelimiterHandler listDelimiterHandler;
    descriptor: Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(org.apache.commons.configuration2.XMLDocumentHelper, org.apache.commons.configuration2.convert.ListDelimiterHandler);
    descriptor: (Lorg/apache/commons/configuration2/XMLDocumentHelper;Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.XMLDocumentHelper docHelper
        start local 2 // org.apache.commons.configuration2.convert.ListDelimiterHandler handler
         0: .line 1114
            aload 0 /* this */
            invokespecial org.apache.commons.configuration2.BaseHierarchicalConfiguration$BuilderVisitor.<init>:()V
         1: .line 1117
            aload 0 /* this */
            aload 1 /* docHelper */
            invokevirtual org.apache.commons.configuration2.XMLDocumentHelper.getDocument:()Lorg/w3c/dom/Document;
            putfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.document:Lorg/w3c/dom/Document;
         2: .line 1118
            aload 0 /* this */
            aload 1 /* docHelper */
            invokevirtual org.apache.commons.configuration2.XMLDocumentHelper.getElementMapping:()Ljava/util/Map;
            putfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.elementMapping:Ljava/util/Map;
         3: .line 1119
            aload 0 /* this */
            aload 2 /* handler */
            putfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.listDelimiterHandler:Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;
         4: .line 1120
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.newElements:Ljava/util/Map;
         5: .line 1121
            return
        end local 2 // org.apache.commons.configuration2.convert.ListDelimiterHandler handler
        end local 1 // org.apache.commons.configuration2.XMLDocumentHelper docHelper
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0    6     1  docHelper  Lorg/apache/commons/configuration2/XMLDocumentHelper;
            0    6     2    handler  Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;
    MethodParameters:
           Name  Flags
      docHelper  final
      handler    final

  public void processDocument(org.apache.commons.configuration2.tree.ReferenceNodeHandler);
    descriptor: (Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
         0: .line 1131
            aload 1 /* refHandler */
            invokeinterface org.apache.commons.configuration2.tree.ReferenceNodeHandler.getRootNode:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.tree.ImmutableNode
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.document:Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
            invokestatic org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.updateAttributes:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/w3c/dom/Element;)V
         1: .line 1132
            getstatic org.apache.commons.configuration2.tree.NodeTreeWalker.INSTANCE:Lorg/apache/commons/configuration2/tree/NodeTreeWalker;
            aload 1 /* refHandler */
            invokeinterface org.apache.commons.configuration2.tree.ReferenceNodeHandler.getRootNode:()Ljava/lang/Object;
            checkcast org.apache.commons.configuration2.tree.ImmutableNode
            aload 0 /* this */
         2: .line 1133
            aload 1 /* refHandler */
         3: .line 1132
            invokevirtual org.apache.commons.configuration2.tree.NodeTreeWalker.walkDFS:(Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/ConfigurationNodeVisitor;Lorg/apache/commons/configuration2/tree/NodeHandler;)V
         4: .line 1134
            return
        end local 1 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0    5     1  refHandler  Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;
    MethodParameters:
            Name  Flags
      refHandler  final

  public void handleRemovedNodes(org.apache.commons.configuration2.tree.ReferenceNodeHandler);
    descriptor: (Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
         0: .line 1144
            aload 1 /* refHandler */
            invokeinterface org.apache.commons.configuration2.tree.ReferenceNodeHandler.removedReferences:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor org.apache.commons.configuration2.tree.ReferenceNodeHandler top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 2 /* ref */
        start local 2 // java.lang.Object ref
         2: .line 1146
            aload 2 /* ref */
            instanceof org.w3c.dom.Node
            ifeq 5
         3: .line 1148
            aload 2 /* ref */
            checkcast org.w3c.dom.Node
            astore 4 /* removedElem */
        start local 4 // org.w3c.dom.Node removedElem
         4: .line 1149
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.elementMapping:Ljava/util/Map;
            aload 4 /* removedElem */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.w3c.dom.Element
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.removeReference:(Lorg/w3c/dom/Element;)V
        end local 4 // org.w3c.dom.Node removedElem
        end local 2 // java.lang.Object ref
         5: .line 1144
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 1152
            return
        end local 1 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0    7     1   refHandler  Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;
            2    5     2          ref  Ljava/lang/Object;
            4    5     4  removedElem  Lorg/w3c/dom/Node;
    MethodParameters:
            Name  Flags
      refHandler  final

  protected void insert(org.apache.commons.configuration2.tree.ImmutableNode, org.apache.commons.configuration2.tree.ImmutableNode, org.apache.commons.configuration2.tree.ImmutableNode, org.apache.commons.configuration2.tree.ImmutableNode, org.apache.commons.configuration2.tree.ReferenceNodeHandler);
    descriptor: (Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.tree.ImmutableNode newNode
        start local 2 // org.apache.commons.configuration2.tree.ImmutableNode parent
        start local 3 // org.apache.commons.configuration2.tree.ImmutableNode sibling1
        start local 4 // org.apache.commons.configuration2.tree.ImmutableNode sibling2
        start local 5 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
         0: .line 1163
            aload 1 /* newNode */
            aload 5 /* refHandler */
            invokestatic org.apache.commons.configuration2.XMLListReference.isListNode:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Z
            ifeq 2
         1: .line 1165
            return
         2: .line 1168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.document:Lorg/w3c/dom/Document;
            aload 1 /* newNode */
            invokevirtual org.apache.commons.configuration2.tree.ImmutableNode.getNodeName:()Ljava/lang/String;
            invokeinterface org.w3c.dom.Document.createElement:(Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 6 /* elem */
        start local 6 // org.w3c.dom.Element elem
         3: .line 1169
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.newElements:Ljava/util/Map;
            aload 1 /* newNode */
            aload 6 /* elem */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1170
            aload 1 /* newNode */
            aload 6 /* elem */
            invokestatic org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.updateAttributes:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/w3c/dom/Element;)V
         5: .line 1171
            aload 1 /* newNode */
            invokevirtual org.apache.commons.configuration2.tree.ImmutableNode.getValue:()Ljava/lang/Object;
            ifnull 12
         6: .line 1174
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.listDelimiterHandler:Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;
         7: .line 1175
            aload 1 /* newNode */
            invokevirtual org.apache.commons.configuration2.tree.ImmutableNode.getValue:()Ljava/lang/Object;
         8: .line 1176
            getstatic org.apache.commons.configuration2.convert.ListDelimiterHandler.NOOP_TRANSFORMER:Lorg/apache/commons/configuration2/convert/ValueTransformer;
         9: .line 1174
            invokeinterface org.apache.commons.configuration2.convert.ListDelimiterHandler.escape:(Ljava/lang/Object;Lorg/apache/commons/configuration2/convert/ValueTransformer;)Ljava/lang/Object;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
        10: .line 1173
            astore 7 /* txt */
        start local 7 // java.lang.String txt
        11: .line 1177
            aload 6 /* elem */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.document:Lorg/w3c/dom/Document;
            aload 7 /* txt */
            invokeinterface org.w3c.dom.Document.createTextNode:(Ljava/lang/String;)Lorg/w3c/dom/Text;
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 7 // java.lang.String txt
        12: .line 1179
      StackMap locals: org.w3c.dom.Element
      StackMap stack:
            aload 4 /* sibling2 */
            ifnonnull 15
        13: .line 1181
            aload 0 /* this */
            aload 2 /* parent */
            aload 5 /* refHandler */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.getElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
            aload 6 /* elem */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        14: .line 1182
            goto 23
        15: .line 1183
      StackMap locals:
      StackMap stack:
            aload 3 /* sibling1 */
            ifnull 20
        16: .line 1185
            aload 0 /* this */
            aload 2 /* parent */
            aload 5 /* refHandler */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.getElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
            aload 6 /* elem */
        17: .line 1186
            aload 0 /* this */
            aload 3 /* sibling1 */
            aload 5 /* refHandler */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.getElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
            invokeinterface org.w3c.dom.Element.getNextSibling:()Lorg/w3c/dom/Node;
        18: .line 1185
            invokeinterface org.w3c.dom.Element.insertBefore:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        19: .line 1187
            goto 23
        20: .line 1190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* parent */
            aload 5 /* refHandler */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.getElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
            aload 6 /* elem */
        21: .line 1191
            aload 0 /* this */
            aload 2 /* parent */
            aload 5 /* refHandler */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.getElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
            invokeinterface org.w3c.dom.Element.getFirstChild:()Lorg/w3c/dom/Node;
        22: .line 1190
            invokeinterface org.w3c.dom.Element.insertBefore:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        23: .line 1193
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.w3c.dom.Element elem
        end local 5 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        end local 4 // org.apache.commons.configuration2.tree.ImmutableNode sibling2
        end local 3 // org.apache.commons.configuration2.tree.ImmutableNode sibling1
        end local 2 // org.apache.commons.configuration2.tree.ImmutableNode parent
        end local 1 // org.apache.commons.configuration2.tree.ImmutableNode newNode
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0   24     1     newNode  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0   24     2      parent  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0   24     3    sibling1  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0   24     4    sibling2  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0   24     5  refHandler  Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;
            3   24     6        elem  Lorg/w3c/dom/Element;
           11   12     7         txt  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      newNode     final
      parent      final
      sibling1    final
      sibling2    final
      refHandler  final

  protected void update(org.apache.commons.configuration2.tree.ImmutableNode, java.lang.Object, org.apache.commons.configuration2.tree.ReferenceNodeHandler);
    descriptor: (Lorg/apache/commons/configuration2/tree/ImmutableNode;Ljava/lang/Object;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.tree.ImmutableNode node
        start local 2 // java.lang.Object reference
        start local 3 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
         0: .line 1204
            aload 1 /* node */
            aload 3 /* refHandler */
            invokestatic org.apache.commons.configuration2.XMLListReference.isListNode:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Z
            ifeq 5
         1: .line 1206
            aload 1 /* node */
            aload 3 /* refHandler */
            invokestatic org.apache.commons.configuration2.XMLListReference.isFirstListItem:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Z
            ifeq 9
         2: .line 1208
            aload 1 /* node */
            aload 3 /* refHandler */
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.listDelimiterHandler:Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;
            invokestatic org.apache.commons.configuration2.XMLListReference.listValue:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         3: .line 1209
            aload 0 /* this */
            aload 1 /* node */
            aload 3 /* refHandler */
            aload 4 /* value */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.updateElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;Ljava/lang/Object;)V
        end local 4 // java.lang.String value
         4: .line 1211
            goto 9
         5: .line 1214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.listDelimiterHandler:Lorg/apache/commons/configuration2/convert/ListDelimiterHandler;
            aload 3 /* refHandler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.ReferenceNodeHandler.getValue:(Ljava/lang/Object;)Ljava/lang/Object;
         6: .line 1215
            getstatic org.apache.commons.configuration2.convert.ListDelimiterHandler.NOOP_TRANSFORMER:Lorg/apache/commons/configuration2/convert/ValueTransformer;
         7: .line 1214
            invokeinterface org.apache.commons.configuration2.convert.ListDelimiterHandler.escape:(Ljava/lang/Object;Lorg/apache/commons/configuration2/convert/ValueTransformer;)Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         8: .line 1216
            aload 0 /* this */
            aload 1 /* node */
            aload 3 /* refHandler */
            aload 4 /* value */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.updateElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;Ljava/lang/Object;)V
        end local 4 // java.lang.Object value
         9: .line 1218
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        end local 2 // java.lang.Object reference
        end local 1 // org.apache.commons.configuration2.tree.ImmutableNode node
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0   10     1        node  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0   10     2   reference  Ljava/lang/Object;
            0   10     3  refHandler  Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;
            3    4     4       value  Ljava/lang/String;
            8    9     4       value  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      node        final
      reference   final
      refHandler  final

  private void updateElement(org.apache.commons.configuration2.tree.ImmutableNode, org.apache.commons.configuration2.tree.ReferenceNodeHandler, java.lang.Object);
    descriptor: (Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.tree.ImmutableNode node
        start local 2 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        start local 3 // java.lang.Object value
         0: .line 1223
            aload 0 /* this */
            aload 1 /* node */
            aload 2 /* refHandler */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.getElement:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
            astore 4 /* element */
        start local 4 // org.w3c.dom.Element element
         1: .line 1224
            aload 0 /* this */
            aload 4 /* element */
            aload 3 /* value */
            invokevirtual org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.updateElement:(Lorg/w3c/dom/Element;Ljava/lang/Object;)V
         2: .line 1225
            aload 1 /* node */
            aload 4 /* element */
            invokestatic org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.updateAttributes:(Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/w3c/dom/Element;)V
         3: .line 1226
            return
        end local 4 // org.w3c.dom.Element element
        end local 3 // java.lang.Object value
        end local 2 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        end local 1 // org.apache.commons.configuration2.tree.ImmutableNode node
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0    4     1        node  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0    4     2  refHandler  Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;
            0    4     3       value  Ljava/lang/Object;
            1    4     4     element  Lorg/w3c/dom/Element;
    MethodParameters:
            Name  Flags
      node        final
      refHandler  final
      value       final

  private void updateElement(org.w3c.dom.Element, java.lang.Object);
    descriptor: (Lorg/w3c/dom/Element;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.w3c.dom.Element element
        start local 2 // java.lang.Object value
         0: .line 1236
            aload 1 /* element */
            invokestatic org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.findTextNodeForUpdate:(Lorg/w3c/dom/Element;)Lorg/w3c/dom/Text;
            astore 3 /* txtNode */
        start local 3 // org.w3c.dom.Text txtNode
         1: .line 1237
            aload 2 /* value */
            ifnonnull 5
         2: .line 1240
            aload 3 /* txtNode */
            ifnull 14
         3: .line 1242
            aload 1 /* element */
            aload 3 /* txtNode */
            invokeinterface org.w3c.dom.Element.removeChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
         4: .line 1244
            goto 14
         5: .line 1247
      StackMap locals: org.w3c.dom.Text
      StackMap stack:
            aload 2 /* value */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* newValue */
        start local 4 // java.lang.String newValue
         6: .line 1248
            aload 3 /* txtNode */
            ifnonnull 13
         7: .line 1250
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.document:Lorg/w3c/dom/Document;
            aload 4 /* newValue */
            invokeinterface org.w3c.dom.Document.createTextNode:(Ljava/lang/String;)Lorg/w3c/dom/Text;
            astore 3 /* txtNode */
         8: .line 1251
            aload 1 /* element */
            invokeinterface org.w3c.dom.Element.getFirstChild:()Lorg/w3c/dom/Node;
            ifnull 11
         9: .line 1253
            aload 1 /* element */
            aload 3 /* txtNode */
            aload 1 /* element */
            invokeinterface org.w3c.dom.Element.getFirstChild:()Lorg/w3c/dom/Node;
            invokeinterface org.w3c.dom.Element.insertBefore:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        10: .line 1254
            goto 14
        11: .line 1257
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* element */
            aload 3 /* txtNode */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        12: .line 1259
            goto 14
        13: .line 1262
      StackMap locals:
      StackMap stack:
            aload 3 /* txtNode */
            aload 4 /* newValue */
            invokeinterface org.w3c.dom.Text.setNodeValue:(Ljava/lang/String;)V
        end local 4 // java.lang.String newValue
        14: .line 1265
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.w3c.dom.Text txtNode
        end local 2 // java.lang.Object value
        end local 1 // org.w3c.dom.Element element
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0   15     1   element  Lorg/w3c/dom/Element;
            0   15     2     value  Ljava/lang/Object;
            1   15     3   txtNode  Lorg/w3c/dom/Text;
            6   14     4  newValue  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      element  final
      value    final

  private void removeReference(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.w3c.dom.Element element
         0: .line 1273
            aload 1 /* element */
            invokeinterface org.w3c.dom.Element.getParentNode:()Lorg/w3c/dom/Node;
            astore 2 /* parentElem */
        start local 2 // org.w3c.dom.Node parentElem
         1: .line 1274
            aload 2 /* parentElem */
            ifnull 3
         2: .line 1276
            aload 2 /* parentElem */
            aload 1 /* element */
            invokeinterface org.w3c.dom.Node.removeChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
         3: .line 1278
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            return
        end local 2 // org.w3c.dom.Node parentElem
        end local 1 // org.w3c.dom.Element element
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0    4     1     element  Lorg/w3c/dom/Element;
            1    4     2  parentElem  Lorg/w3c/dom/Node;
    MethodParameters:
         Name  Flags
      element  final

  private org.w3c.dom.Element getElement(org.apache.commons.configuration2.tree.ImmutableNode, org.apache.commons.configuration2.tree.ReferenceNodeHandler);
    descriptor: (Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;)Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
        start local 1 // org.apache.commons.configuration2.tree.ImmutableNode node
        start local 2 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
         0: .line 1290
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.newElements:Ljava/util/Map;
            aload 1 /* node */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.w3c.dom.Element
            astore 3 /* elementNew */
        start local 3 // org.w3c.dom.Element elementNew
         1: .line 1291
            aload 3 /* elementNew */
            ifnull 3
         2: .line 1293
            aload 3 /* elementNew */
            areturn
         3: .line 1297
      StackMap locals: org.w3c.dom.Element
      StackMap stack:
            aload 2 /* refHandler */
            aload 1 /* node */
            invokeinterface org.apache.commons.configuration2.tree.ReferenceNodeHandler.getReference:(Lorg/apache/commons/configuration2/tree/ImmutableNode;)Ljava/lang/Object;
            astore 4 /* reference */
        start local 4 // java.lang.Object reference
         4: .line 1299
            aload 4 /* reference */
            instanceof org.apache.commons.configuration2.XMLDocumentHelper
            ifeq 9
         5: .line 1302
            aload 4 /* reference */
            checkcast org.apache.commons.configuration2.XMLDocumentHelper
            invokevirtual org.apache.commons.configuration2.XMLDocumentHelper.getDocument:()Lorg/w3c/dom/Document;
         6: .line 1303
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
         7: .line 1301
            astore 5 /* element */
        start local 5 // org.w3c.dom.Node element
         8: .line 1304
            goto 13
        end local 5 // org.w3c.dom.Node element
         9: .line 1305
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* reference */
            instanceof org.apache.commons.configuration2.XMLListReference
            ifeq 12
        10: .line 1307
            aload 4 /* reference */
            checkcast org.apache.commons.configuration2.XMLListReference
            invokevirtual org.apache.commons.configuration2.XMLListReference.getElement:()Lorg/w3c/dom/Element;
            astore 5 /* element */
        start local 5 // org.w3c.dom.Node element
        11: .line 1308
            goto 13
        end local 5 // org.w3c.dom.Node element
        12: .line 1311
      StackMap locals:
      StackMap stack:
            aload 4 /* reference */
            checkcast org.w3c.dom.Node
            astore 5 /* element */
        start local 5 // org.w3c.dom.Node element
        13: .line 1313
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            aload 5 /* element */
            ifnull 14
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.elementMapping:Ljava/util/Map;
            aload 5 /* element */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.w3c.dom.Element
            goto 15
        14: .line 1314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.document:Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
        15: .line 1313
      StackMap locals:
      StackMap stack: org.w3c.dom.Element
            areturn
        end local 5 // org.w3c.dom.Node element
        end local 4 // java.lang.Object reference
        end local 3 // org.w3c.dom.Element elementNew
        end local 2 // org.apache.commons.configuration2.tree.ReferenceNodeHandler refHandler
        end local 1 // org.apache.commons.configuration2.tree.ImmutableNode node
        end local 0 // org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lorg/apache/commons/configuration2/XMLConfiguration$XMLBuilderVisitor;
            0   16     1        node  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0   16     2  refHandler  Lorg/apache/commons/configuration2/tree/ReferenceNodeHandler;
            1   16     3  elementNew  Lorg/w3c/dom/Element;
            4   16     4   reference  Ljava/lang/Object;
            8    9     5     element  Lorg/w3c/dom/Node;
           11   12     5     element  Lorg/w3c/dom/Node;
           13   16     5     element  Lorg/w3c/dom/Node;
    MethodParameters:
            Name  Flags
      node        final
      refHandler  final

  private static void updateAttributes(org.apache.commons.configuration2.tree.ImmutableNode, org.w3c.dom.Element);
    descriptor: (Lorg/apache/commons/configuration2/tree/ImmutableNode;Lorg/w3c/dom/Element;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.configuration2.tree.ImmutableNode node
        start local 1 // org.w3c.dom.Element elem
         0: .line 1326
            aload 0 /* node */
            ifnull 8
            aload 1 /* elem */
            ifnull 8
         1: .line 1328
            aload 1 /* elem */
            invokestatic org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor.clearAttributes:(Lorg/w3c/dom/Element;)V
         2: .line 1329
            aload 0 /* node */
            invokevirtual org.apache.commons.configuration2.tree.ImmutableNode.getAttributes:()Ljava/util/Map;
         3: .line 1330
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: org.apache.commons.configuration2.tree.ImmutableNode org.w3c.dom.Element top java.util.Iterator
      StackMap stack:
         4: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* e */
        start local 2 // java.util.Map$Entry e
         5: .line 1332
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            ifnull 7
         6: .line 1334
            aload 1 /* elem */
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 2 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // java.util.Map$Entry e
         7: .line 1329
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 1338
      StackMap locals: org.apache.commons.configuration2.tree.ImmutableNode org.w3c.dom.Element
      StackMap stack:
            return
        end local 1 // org.w3c.dom.Element elem
        end local 0 // org.apache.commons.configuration2.tree.ImmutableNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  node  Lorg/apache/commons/configuration2/tree/ImmutableNode;
            0    9     1  elem  Lorg/w3c/dom/Element;
            5    7     2     e  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
      Name  Flags
      node  final
      elem  final

  private static void clearAttributes(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.w3c.dom.Element elem
         0: .line 1347
            aload 0 /* elem */
            invokeinterface org.w3c.dom.Element.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
            astore 1 /* attributes */
        start local 1 // org.w3c.dom.NamedNodeMap attributes
         1: .line 1348
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 1350
      StackMap locals: org.w3c.dom.NamedNodeMap int
      StackMap stack:
            aload 0 /* elem */
            aload 1 /* attributes */
            iload 2 /* i */
            invokeinterface org.w3c.dom.NamedNodeMap.item:(I)Lorg/w3c/dom/Node;
            invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.removeAttribute:(Ljava/lang/String;)V
         4: .line 1348
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* attributes */
            invokeinterface org.w3c.dom.NamedNodeMap.getLength:()I
            if_icmplt 3
        end local 2 // int i
         6: .line 1352
            return
        end local 1 // org.w3c.dom.NamedNodeMap attributes
        end local 0 // org.w3c.dom.Element elem
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        elem  Lorg/w3c/dom/Element;
            1    7     1  attributes  Lorg/w3c/dom/NamedNodeMap;
            2    6     2           i  I
    MethodParameters:
      Name  Flags
      elem  final

  private static org.w3c.dom.Text findTextNodeForUpdate(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)Lorg/w3c/dom/Text;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.w3c.dom.Element elem
         0: .line 1365
            aconst_null
            astore 1 /* result */
        start local 1 // org.w3c.dom.Text result
         1: .line 1367
            aload 0 /* elem */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 2 /* children */
        start local 2 // org.w3c.dom.NodeList children
         2: .line 1369
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         3: .line 1368
            astore 3 /* textNodes */
        start local 3 // java.util.Collection textNodes
         4: .line 1370
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 13
         6: .line 1372
      StackMap locals: org.w3c.dom.Element org.w3c.dom.Text org.w3c.dom.NodeList java.util.Collection int
      StackMap stack:
            aload 2 /* children */
            iload 4 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 5 /* nd */
        start local 5 // org.w3c.dom.Node nd
         7: .line 1373
            aload 5 /* nd */
            instanceof org.w3c.dom.Text
            ifeq 12
         8: .line 1375
            aload 1 /* result */
            ifnonnull 11
         9: .line 1377
            aload 5 /* nd */
            checkcast org.w3c.dom.Text
            astore 1 /* result */
        10: .line 1378
            goto 12
        11: .line 1381
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            aload 3 /* textNodes */
            aload 5 /* nd */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.w3c.dom.Node nd
        12: .line 1370
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 2 /* children */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            if_icmplt 6
        end local 4 // int i
        14: .line 1387
            aload 1 /* result */
            instanceof org.w3c.dom.CDATASection
            ifeq 17
        15: .line 1389
            aload 3 /* textNodes */
            aload 1 /* result */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1390
            aconst_null
            astore 1 /* result */
        17: .line 1394
      StackMap locals:
      StackMap stack:
            aload 3 /* textNodes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 20
      StackMap locals: org.w3c.dom.Element org.w3c.dom.Text org.w3c.dom.NodeList java.util.Collection top java.util.Iterator
      StackMap stack:
        18: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.w3c.dom.Node
            astore 4 /* tn */
        start local 4 // org.w3c.dom.Node tn
        19: .line 1396
            aload 0 /* elem */
            aload 4 /* tn */
            invokeinterface org.w3c.dom.Element.removeChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 4 // org.w3c.dom.Node tn
        20: .line 1394
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        21: .line 1398
            aload 1 /* result */
            areturn
        end local 3 // java.util.Collection textNodes
        end local 2 // org.w3c.dom.NodeList children
        end local 1 // org.w3c.dom.Text result
        end local 0 // org.w3c.dom.Element elem
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       elem  Lorg/w3c/dom/Element;
            1   22     1     result  Lorg/w3c/dom/Text;
            2   22     2   children  Lorg/w3c/dom/NodeList;
            4   22     3  textNodes  Ljava/util/Collection<Lorg/w3c/dom/Node;>;
            5   14     4          i  I
            7   12     5         nd  Lorg/w3c/dom/Node;
           19   20     4         tn  Lorg/w3c/dom/Node;
    MethodParameters:
      Name  Flags
      elem  final
}
SourceFile: "XMLConfiguration.java"
NestHost: org.apache.commons.configuration2.XMLConfiguration
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  protected abstract BuilderVisitor = org.apache.commons.configuration2.BaseHierarchicalConfiguration$BuilderVisitor of org.apache.commons.configuration2.BaseHierarchicalConfiguration
  XMLBuilderVisitor = org.apache.commons.configuration2.XMLConfiguration$XMLBuilderVisitor of org.apache.commons.configuration2.XMLConfiguration