public class org.apache.avalon.framework.configuration.ConfigurationUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.avalon.framework.configuration.ConfigurationUtil
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.avalon.framework.configuration.ConfigurationUtil this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 48
            return
        end local 0 // org.apache.avalon.framework.configuration.ConfigurationUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/avalon/framework/configuration/ConfigurationUtil;

  public static org.apache.avalon.framework.configuration.Configuration toConfiguration(org.w3c.dom.Element);
    descriptor: (Lorg/w3c/dom/Element;)Lorg/apache/avalon/framework/configuration/Configuration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // org.w3c.dom.Element element
         0: .line 59
            new org.apache.avalon.framework.configuration.DefaultConfiguration
            dup
            aload 0 /* element */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "dom-created"
            invokespecial org.apache.avalon.framework.configuration.DefaultConfiguration.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         1: .line 58
            astore 1 /* configuration */
        start local 1 // org.apache.avalon.framework.configuration.DefaultConfiguration configuration
         2: .line 60
            aload 0 /* element */
            invokeinterface org.w3c.dom.Element.getAttributes:()Lorg/w3c/dom/NamedNodeMap;
            astore 2 /* attributes */
        start local 2 // org.w3c.dom.NamedNodeMap attributes
         3: .line 61
            aload 2 /* attributes */
            invokeinterface org.w3c.dom.NamedNodeMap.getLength:()I
            istore 3 /* length */
        start local 3 // int length
         4: .line 62
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 64
      StackMap locals: org.w3c.dom.Element org.apache.avalon.framework.configuration.DefaultConfiguration org.w3c.dom.NamedNodeMap int int
      StackMap stack:
            aload 2 /* attributes */
            iload 4 /* i */
            invokeinterface org.w3c.dom.NamedNodeMap.item:(I)Lorg/w3c/dom/Node;
            astore 5 /* node */
        start local 5 // org.w3c.dom.Node node
         7: .line 65
            aload 5 /* node */
            invokeinterface org.w3c.dom.Node.getNodeName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         8: .line 66
            aload 5 /* node */
            invokeinterface org.w3c.dom.Node.getNodeValue:()Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
         9: .line 67
            aload 1 /* configuration */
            aload 6 /* name */
            aload 7 /* value */
            invokevirtual org.apache.avalon.framework.configuration.DefaultConfiguration.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String value
        end local 6 // java.lang.String name
        end local 5 // org.w3c.dom.Node node
        10: .line 62
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 3 /* length */
            if_icmplt 6
        end local 4 // int i
        12: .line 70
            iconst_0
            istore 4 /* flag */
        start local 4 // boolean flag
        13: .line 71
            ldc ""
            astore 5 /* content */
        start local 5 // java.lang.String content
        14: .line 72
            aload 0 /* element */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 6 /* nodes */
        start local 6 // org.w3c.dom.NodeList nodes
        15: .line 73
            aload 6 /* nodes */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            istore 7 /* count */
        start local 7 // int count
        16: .line 74
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 28
        18: .line 76
      StackMap locals: org.w3c.dom.Element org.apache.avalon.framework.configuration.DefaultConfiguration org.w3c.dom.NamedNodeMap int int java.lang.String org.w3c.dom.NodeList int int
      StackMap stack:
            aload 6 /* nodes */
            iload 8 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 9 /* node */
        start local 9 // org.w3c.dom.Node node
        19: .line 77
            aload 9 /* node */
            instanceof org.w3c.dom.Element
            ifeq 23
        20: .line 79
            aload 9 /* node */
            checkcast org.w3c.dom.Element
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.toConfiguration:(Lorg/w3c/dom/Element;)Lorg/apache/avalon/framework/configuration/Configuration;
            astore 10 /* child */
        start local 10 // org.apache.avalon.framework.configuration.Configuration child
        21: .line 80
            aload 1 /* configuration */
            aload 10 /* child */
            invokevirtual org.apache.avalon.framework.configuration.DefaultConfiguration.addChild:(Lorg/apache/avalon/framework/configuration/Configuration;)V
        end local 10 // org.apache.avalon.framework.configuration.Configuration child
        22: .line 81
            goto 27
        23: .line 82
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            aload 9 /* node */
            instanceof org.w3c.dom.CharacterData
            ifeq 27
        24: .line 84
            aload 9 /* node */
            checkcast org.w3c.dom.CharacterData
            astore 10 /* data */
        start local 10 // org.w3c.dom.CharacterData data
        25: .line 85
            new java.lang.StringBuilder
            dup
            aload 5 /* content */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* data */
            invokeinterface org.w3c.dom.CharacterData.getData:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* content */
        26: .line 86
            iconst_1
            istore 4 /* flag */
        end local 10 // org.w3c.dom.CharacterData data
        end local 9 // org.w3c.dom.Node node
        27: .line 74
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 8 /* i */
            iload 7 /* count */
            if_icmplt 18
        end local 8 // int i
        29: .line 90
            iload 4 /* flag */
            ifeq 31
        30: .line 92
            aload 1 /* configuration */
            aload 5 /* content */
            invokevirtual org.apache.avalon.framework.configuration.DefaultConfiguration.setValue:(Ljava/lang/String;)V
        31: .line 95
      StackMap locals:
      StackMap stack:
            aload 1 /* configuration */
            areturn
        end local 7 // int count
        end local 6 // org.w3c.dom.NodeList nodes
        end local 5 // java.lang.String content
        end local 4 // boolean flag
        end local 3 // int length
        end local 2 // org.w3c.dom.NamedNodeMap attributes
        end local 1 // org.apache.avalon.framework.configuration.DefaultConfiguration configuration
        end local 0 // org.w3c.dom.Element element
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0        element  Lorg/w3c/dom/Element;
            2   32     1  configuration  Lorg/apache/avalon/framework/configuration/DefaultConfiguration;
            3   32     2     attributes  Lorg/w3c/dom/NamedNodeMap;
            4   32     3         length  I
            5   12     4              i  I
            7   10     5           node  Lorg/w3c/dom/Node;
            8   10     6           name  Ljava/lang/String;
            9   10     7          value  Ljava/lang/String;
           13   32     4           flag  Z
           14   32     5        content  Ljava/lang/String;
           15   32     6          nodes  Lorg/w3c/dom/NodeList;
           16   32     7          count  I
           17   29     8              i  I
           19   27     9           node  Lorg/w3c/dom/Node;
           21   22    10          child  Lorg/apache/avalon/framework/configuration/Configuration;
           25   27    10           data  Lorg/w3c/dom/CharacterData;
    MethodParameters:
         Name  Flags
      element  final

  public static org.w3c.dom.Element toElement(org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;)Lorg/w3c/dom/Element;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.avalon.framework.configuration.Configuration configuration
         0: .line 108
            invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
            astore 1 /* factory */
        start local 1 // javax.xml.parsers.DocumentBuilderFactory factory
         1: .line 109
            aload 1 /* factory */
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
            astore 2 /* builder */
        start local 2 // javax.xml.parsers.DocumentBuilder builder
         2: .line 110
            aload 2 /* builder */
            invokevirtual javax.xml.parsers.DocumentBuilder.newDocument:()Lorg/w3c/dom/Document;
            astore 3 /* document */
        start local 3 // org.w3c.dom.Document document
         3: .line 112
            aload 3 /* document */
            aload 0 /* configuration */
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.createElement:(Lorg/w3c/dom/Document;Lorg/apache/avalon/framework/configuration/Configuration;)Lorg/w3c/dom/Element;
         4: areturn
        end local 3 // org.w3c.dom.Document document
        end local 2 // javax.xml.parsers.DocumentBuilder builder
        end local 1 // javax.xml.parsers.DocumentBuilderFactory factory
         5: .line 114
      StackMap locals:
      StackMap stack: javax.xml.parsers.ParserConfigurationException
            astore 1 /* pce */
        start local 1 // javax.xml.parsers.ParserConfigurationException pce
         6: .line 116
            new java.lang.IllegalStateException
            dup
            aload 1 /* pce */
            invokevirtual javax.xml.parsers.ParserConfigurationException.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // javax.xml.parsers.ParserConfigurationException pce
        end local 0 // org.apache.avalon.framework.configuration.Configuration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0  configuration  Lorg/apache/avalon/framework/configuration/Configuration;
            1    5     1        factory  Ljavax/xml/parsers/DocumentBuilderFactory;
            2    5     2        builder  Ljavax/xml/parsers/DocumentBuilder;
            3    5     3       document  Lorg/w3c/dom/Document;
            6    7     1            pce  Ljavax/xml/parsers/ParserConfigurationException;
      Exception table:
        from    to  target  type
           0     4       5  Class javax.xml.parsers.ParserConfigurationException
    MethodParameters:
               Name  Flags
      configuration  final

  public static java.lang.String toString(org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.avalon.framework.configuration.Configuration configuration
         0: .line 134
            new org.apache.avalon.framework.configuration.DefaultConfigurationSerializer
            dup
            invokespecial org.apache.avalon.framework.configuration.DefaultConfigurationSerializer.<init>:()V
            astore 1 /* ser */
        start local 1 // org.apache.avalon.framework.configuration.DefaultConfigurationSerializer ser
         1: .line 137
            aload 1 /* ser */
            aload 0 /* configuration */
            invokevirtual org.apache.avalon.framework.configuration.DefaultConfigurationSerializer.serialize:(Lorg/apache/avalon/framework/configuration/Configuration;)Ljava/lang/String;
         2: areturn
         3: .line 139
      StackMap locals: org.apache.avalon.framework.configuration.Configuration org.apache.avalon.framework.configuration.DefaultConfigurationSerializer
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         4: .line 141
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.Exception e
        end local 1 // org.apache.avalon.framework.configuration.DefaultConfigurationSerializer ser
        end local 0 // org.apache.avalon.framework.configuration.Configuration configuration
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0  configuration  Lorg/apache/avalon/framework/configuration/Configuration;
            1    5     1            ser  Lorg/apache/avalon/framework/configuration/DefaultConfigurationSerializer;
            4    5     2              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      configuration  final

  public static boolean equals(org.apache.avalon.framework.configuration.Configuration, org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.avalon.framework.configuration.Configuration c1
        start local 1 // org.apache.avalon.framework.configuration.Configuration c2
         0: .line 156
            aload 0 /* c1 */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getName:()Ljava/lang/String;
            aload 1 /* c2 */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* c1 */
            aload 1 /* c2 */
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.areValuesEqual:(Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
            ifeq 3
         1: .line 157
            aload 0 /* c1 */
            aload 1 /* c2 */
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.areAttributesEqual:(Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
            ifeq 3
            aload 0 /* c1 */
            aload 1 /* c2 */
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.areChildrenEqual:(Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
            ifeq 3
         2: .line 156
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // org.apache.avalon.framework.configuration.Configuration c2
        end local 0 // org.apache.avalon.framework.configuration.Configuration c1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    c1  Lorg/apache/avalon/framework/configuration/Configuration;
            0    4     1    c2  Lorg/apache/avalon/framework/configuration/Configuration;
    MethodParameters:
      Name  Flags
      c1    final
      c2    final

  private static boolean areChildrenEqual(org.apache.avalon.framework.configuration.Configuration, org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.avalon.framework.configuration.Configuration c1
        start local 1 // org.apache.avalon.framework.configuration.Configuration c2
         0: .line 170
            aload 0 /* c1 */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getChildren:()[Lorg/apache/avalon/framework/configuration/Configuration;
            astore 2 /* kids1 */
        start local 2 // org.apache.avalon.framework.configuration.Configuration[] kids1
         1: .line 171
            new java.util.ArrayList
            dup
            aload 1 /* c2 */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getChildren:()[Lorg/apache/avalon/framework/configuration/Configuration;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* kids2 */
        start local 3 // java.util.ArrayList kids2
         2: .line 172
            aload 2 /* kids1 */
            arraylength
            aload 3 /* kids2 */
            invokevirtual java.util.ArrayList.size:()I
            if_icmpeq 4
         3: .line 174
            iconst_0
            ireturn
         4: .line 177
      StackMap locals: org.apache.avalon.framework.configuration.Configuration[] java.util.ArrayList
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 179
      StackMap locals: int
      StackMap stack:
            aload 2 /* kids1 */
            iload 4 /* i */
            aaload
            aload 3 /* kids2 */
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.findMatchingChild:(Lorg/apache/avalon/framework/configuration/Configuration;Ljava/util/ArrayList;)Z
            ifne 8
         7: .line 181
            iconst_0
            ireturn
         8: .line 177
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            aload 2 /* kids1 */
            arraylength
            if_icmplt 6
        end local 4 // int i
        10: .line 185
            aload 3 /* kids2 */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifeq 11
            iconst_1
            goto 12
      StackMap locals:
      StackMap stack:
        11: iconst_0
      StackMap locals:
      StackMap stack: int
        12: ireturn
        end local 3 // java.util.ArrayList kids2
        end local 2 // org.apache.avalon.framework.configuration.Configuration[] kids1
        end local 1 // org.apache.avalon.framework.configuration.Configuration c2
        end local 0 // org.apache.avalon.framework.configuration.Configuration c1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0     c1  Lorg/apache/avalon/framework/configuration/Configuration;
            0   13     1     c2  Lorg/apache/avalon/framework/configuration/Configuration;
            1   13     2  kids1  [Lorg/apache/avalon/framework/configuration/Configuration;
            2   13     3  kids2  Ljava/util/ArrayList;
            5   10     4      i  I
    MethodParameters:
      Name  Flags
      c1    final
      c2    final

  private static boolean findMatchingChild(org.apache.avalon.framework.configuration.Configuration, java.util.ArrayList);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;Ljava/util/ArrayList;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.avalon.framework.configuration.Configuration c
        start local 1 // java.util.ArrayList matchAgainst
         0: .line 198
            aload 1 /* matchAgainst */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         1: .line 199
            goto 5
         2: .line 201
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 0 /* c */
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.avalon.framework.configuration.Configuration
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.equals:(Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
            ifeq 5
         3: .line 203
            aload 2 /* i */
            invokeinterface java.util.Iterator.remove:()V
         4: .line 204
            iconst_1
            ireturn
         5: .line 199
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 208
            iconst_0
            ireturn
        end local 2 // java.util.Iterator i
        end local 1 // java.util.ArrayList matchAgainst
        end local 0 // org.apache.avalon.framework.configuration.Configuration c
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0             c  Lorg/apache/avalon/framework/configuration/Configuration;
            0    7     1  matchAgainst  Ljava/util/ArrayList;
            1    7     2             i  Ljava/util/Iterator;
    MethodParameters:
              Name  Flags
      c             final
      matchAgainst  final

  private static boolean areAttributesEqual(org.apache.avalon.framework.configuration.Configuration, org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.avalon.framework.configuration.Configuration c1
        start local 1 // org.apache.avalon.framework.configuration.Configuration c2
         0: .line 221
            aload 0 /* c1 */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getAttributeNames:()[Ljava/lang/String;
            astore 2 /* names1 */
        start local 2 // java.lang.String[] names1
         1: .line 222
            aload 1 /* c2 */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getAttributeNames:()[Ljava/lang/String;
            astore 3 /* names2 */
        start local 3 // java.lang.String[] names2
         2: .line 223
            aload 2 /* names1 */
            arraylength
            aload 3 /* names2 */
            arraylength
            if_icmpeq 4
         3: .line 225
            iconst_0
            ireturn
         4: .line 228
      StackMap locals: java.lang.String[] java.lang.String[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 12
         6: .line 230
      StackMap locals: int
      StackMap stack:
            aload 2 /* names1 */
            iload 4 /* i */
            aaload
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 231
            aload 0 /* c1 */
            aload 5 /* name */
            aconst_null
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* value1 */
        start local 6 // java.lang.String value1
         8: .line 232
            aload 1 /* c2 */
            aload 5 /* name */
            aconst_null
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* value2 */
        start local 7 // java.lang.String value2
         9: .line 233
            aload 6 /* value1 */
            aload 7 /* value2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 235
            iconst_0
            ireturn
        end local 7 // java.lang.String value2
        end local 6 // java.lang.String value1
        end local 5 // java.lang.String name
        11: .line 228
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 2 /* names1 */
            arraylength
            if_icmplt 6
        end local 4 // int i
        13: .line 239
            iconst_1
            ireturn
        end local 3 // java.lang.String[] names2
        end local 2 // java.lang.String[] names1
        end local 1 // org.apache.avalon.framework.configuration.Configuration c2
        end local 0 // org.apache.avalon.framework.configuration.Configuration c1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0      c1  Lorg/apache/avalon/framework/configuration/Configuration;
            0   14     1      c2  Lorg/apache/avalon/framework/configuration/Configuration;
            1   14     2  names1  [Ljava/lang/String;
            2   14     3  names2  [Ljava/lang/String;
            5   13     4       i  I
            7   11     5    name  Ljava/lang/String;
            8   11     6  value1  Ljava/lang/String;
            9   11     7  value2  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c1    final
      c2    final

  private static boolean areValuesEqual(org.apache.avalon.framework.configuration.Configuration, org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/apache/avalon/framework/configuration/Configuration;Lorg/apache/avalon/framework/configuration/Configuration;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.avalon.framework.configuration.Configuration c1
        start local 1 // org.apache.avalon.framework.configuration.Configuration c2
         0: .line 252
            aload 0 /* c1 */
            aconst_null
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* value1 */
        start local 2 // java.lang.String value1
         1: .line 253
            aload 1 /* c2 */
            aconst_null
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value2 */
        start local 3 // java.lang.String value2
         2: .line 254
            aload 2 /* value1 */
            ifnonnull 3
            aload 3 /* value2 */
            ifnull 5
         3: .line 255
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* value1 */
            ifnull 4
            aload 2 /* value1 */
            aload 3 /* value2 */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 254
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_1
            ireturn
        end local 3 // java.lang.String value2
        end local 2 // java.lang.String value1
        end local 1 // org.apache.avalon.framework.configuration.Configuration c2
        end local 0 // org.apache.avalon.framework.configuration.Configuration c1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      c1  Lorg/apache/avalon/framework/configuration/Configuration;
            0    6     1      c2  Lorg/apache/avalon/framework/configuration/Configuration;
            1    6     2  value1  Ljava/lang/String;
            2    6     3  value2  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      c1    final
      c2    final

  private static org.w3c.dom.Element createElement(org.w3c.dom.Document, org.apache.avalon.framework.configuration.Configuration);
    descriptor: (Lorg/w3c/dom/Document;Lorg/apache/avalon/framework/configuration/Configuration;)Lorg/w3c/dom/Element;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.w3c.dom.Document document
        start local 1 // org.apache.avalon.framework.configuration.Configuration configuration
         0: .line 269
            aload 0 /* document */
            aload 1 /* configuration */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getName:()Ljava/lang/String;
            invokeinterface org.w3c.dom.Document.createElement:(Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 2 /* element */
        start local 2 // org.w3c.dom.Element element
         1: .line 271
            aload 1 /* configuration */
            aconst_null
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* content */
        start local 3 // java.lang.String content
         2: .line 272
            aload 3 /* content */
            ifnull 5
         3: .line 274
            aload 0 /* document */
            aload 3 /* content */
            invokeinterface org.w3c.dom.Document.createTextNode:(Ljava/lang/String;)Lorg/w3c/dom/Text;
            astore 4 /* child */
        start local 4 // org.w3c.dom.Text child
         4: .line 275
            aload 2 /* element */
            aload 4 /* child */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 4 // org.w3c.dom.Text child
         5: .line 278
      StackMap locals: org.w3c.dom.Element java.lang.String
      StackMap stack:
            aload 1 /* configuration */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getAttributeNames:()[Ljava/lang/String;
            astore 4 /* names */
        start local 4 // java.lang.String[] names
         6: .line 279
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: goto 12
         8: .line 281
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 4 /* names */
            iload 5 /* i */
            aaload
            astore 6 /* name */
        start local 6 // java.lang.String name
         9: .line 282
            aload 1 /* configuration */
            aload 6 /* name */
            aconst_null
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getAttribute:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
        10: .line 283
            aload 2 /* element */
            aload 6 /* name */
            aload 7 /* value */
            invokeinterface org.w3c.dom.Element.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
        end local 7 // java.lang.String value
        end local 6 // java.lang.String name
        11: .line 279
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            aload 4 /* names */
            arraylength
            if_icmplt 8
        end local 5 // int i
        13: .line 285
            aload 1 /* configuration */
            invokeinterface org.apache.avalon.framework.configuration.Configuration.getChildren:()[Lorg/apache/avalon/framework/configuration/Configuration;
            astore 5 /* children */
        start local 5 // org.apache.avalon.framework.configuration.Configuration[] children
        14: .line 286
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        15: goto 19
        16: .line 288
      StackMap locals: org.w3c.dom.Document org.apache.avalon.framework.configuration.Configuration org.w3c.dom.Element java.lang.String java.lang.String[] org.apache.avalon.framework.configuration.Configuration[] int
      StackMap stack:
            aload 0 /* document */
            aload 5 /* children */
            iload 6 /* i */
            aaload
            invokestatic org.apache.avalon.framework.configuration.ConfigurationUtil.createElement:(Lorg/w3c/dom/Document;Lorg/apache/avalon/framework/configuration/Configuration;)Lorg/w3c/dom/Element;
            astore 7 /* child */
        start local 7 // org.w3c.dom.Element child
        17: .line 289
            aload 2 /* element */
            aload 7 /* child */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 7 // org.w3c.dom.Element child
        18: .line 286
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 6 /* i */
            aload 5 /* children */
            arraylength
            if_icmplt 16
        end local 6 // int i
        20: .line 291
            aload 2 /* element */
            areturn
        end local 5 // org.apache.avalon.framework.configuration.Configuration[] children
        end local 4 // java.lang.String[] names
        end local 3 // java.lang.String content
        end local 2 // org.w3c.dom.Element element
        end local 1 // org.apache.avalon.framework.configuration.Configuration configuration
        end local 0 // org.w3c.dom.Document document
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0       document  Lorg/w3c/dom/Document;
            0   21     1  configuration  Lorg/apache/avalon/framework/configuration/Configuration;
            1   21     2        element  Lorg/w3c/dom/Element;
            2   21     3        content  Ljava/lang/String;
            4    5     4          child  Lorg/w3c/dom/Text;
            6   21     4          names  [Ljava/lang/String;
            7   13     5              i  I
            9   11     6           name  Ljava/lang/String;
           10   11     7          value  Ljava/lang/String;
           14   21     5       children  [Lorg/apache/avalon/framework/configuration/Configuration;
           15   20     6              i  I
           17   18     7          child  Lorg/w3c/dom/Element;
    MethodParameters:
               Name  Flags
      document       final
      configuration  final
}
SourceFile: "ConfigurationUtil.java"