public final class org.jcp.xml.dsig.internal.dom.DOMKeyInfo extends org.jcp.xml.dsig.internal.dom.DOMStructure implements javax.xml.crypto.dsig.keyinfo.KeyInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jcp.xml.dsig.internal.dom.DOMKeyInfo
  super_class: org.jcp.xml.dsig.internal.dom.DOMStructure
{
  private final java.lang.String id;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<javax.xml.crypto.XMLStructure> keyInfoTypes;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;

  public void <init>(java.util.List<? extends javax.xml.crypto.XMLStructure>, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // java.util.List content
        start local 2 // java.lang.String id
         0: .line 67
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
         1: .line 68
            aload 1 /* content */
            ifnonnull 3
         2: .line 69
            new java.lang.NullPointerException
            dup
            ldc "content cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 72
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyInfo java.util.List java.lang.String
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
         4: .line 73
            ldc Ljavax/xml/crypto/XMLStructure;
         5: .line 72
            invokestatic java.util.Collections.checkedList:(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
         6: .line 71
            astore 3 /* tempList */
        start local 3 // java.util.List tempList
         7: .line 74
            aload 3 /* tempList */
            aload 1 /* content */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 75
            aload 0 /* this */
            aload 3 /* tempList */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
         9: .line 76
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
        10: .line 77
            new java.lang.IllegalArgumentException
            dup
            ldc "content cannot be empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 79
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 2 /* id */
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
        12: .line 80
            return
        end local 3 // java.util.List tempList
        end local 2 // java.lang.String id
        end local 1 // java.util.List content
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   13     1   content  Ljava/util/List<+Ljavax/xml/crypto/XMLStructure;>;
            0   13     2        id  Ljava/lang/String;
            7   13     3  tempList  Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;
    Signature: (Ljava/util/List<+Ljavax/xml/crypto/XMLStructure;>;Ljava/lang/String;)V
    MethodParameters:
         Name  Flags
      content  
      id       

  public void <init>(org.w3c.dom.Element, javax.xml.crypto.XMLCryptoContext, java.security.Provider);
    descriptor: (Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=12, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // org.w3c.dom.Element kiElem
        start local 2 // javax.xml.crypto.XMLCryptoContext context
        start local 3 // java.security.Provider provider
         0: .line 87
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
         1: .line 92
            aload 1 /* kiElem */
            aconst_null
            ldc "Id"
            invokeinterface org.w3c.dom.Element.getAttributeNodeNS:(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;
            astore 4 /* attr */
        start local 4 // org.w3c.dom.Attr attr
         2: .line 93
            aload 4 /* attr */
            ifnull 6
         3: .line 94
            aload 0 /* this */
            aload 4 /* attr */
            invokeinterface org.w3c.dom.Attr.getValue:()Ljava/lang/String;
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
         4: .line 95
            aload 1 /* kiElem */
            aload 4 /* attr */
            iconst_1
            invokeinterface org.w3c.dom.Element.setIdAttributeNode:(Lorg/w3c/dom/Attr;Z)V
         5: .line 96
            goto 7
         6: .line 97
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyInfo org.w3c.dom.Element javax.xml.crypto.XMLCryptoContext java.security.Provider org.w3c.dom.Attr
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
         7: .line 101
      StackMap locals:
      StackMap stack:
            aload 1 /* kiElem */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 5 /* nl */
        start local 5 // org.w3c.dom.NodeList nl
         8: .line 102
            aload 5 /* nl */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            istore 6 /* length */
        start local 6 // int length
         9: .line 103
            iload 6 /* length */
            iconst_1
            if_icmpge 13
        10: .line 104
            new javax.xml.crypto.MarshalException
            dup
        11: .line 105
            ldc "KeyInfo must contain at least one type"
        12: .line 104
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 107
      StackMap locals: org.w3c.dom.NodeList int
      StackMap stack:
            new java.util.ArrayList
            dup
            iload 6 /* length */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* content */
        start local 7 // java.util.List content
        14: .line 108
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: goto 40
        16: .line 109
      StackMap locals: java.util.List int
      StackMap stack:
            aload 5 /* nl */
            iload 8 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 9 /* child */
        start local 9 // org.w3c.dom.Node child
        17: .line 111
            aload 9 /* child */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            iconst_1
            if_icmpeq 19
        18: .line 112
            goto 39
        19: .line 114
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            aload 9 /* child */
            checkcast org.w3c.dom.Element
            astore 10 /* childElem */
        start local 10 // org.w3c.dom.Element childElem
        20: .line 115
            aload 10 /* childElem */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            astore 11 /* localName */
        start local 11 // java.lang.String localName
        21: .line 116
            aload 11 /* localName */
            ldc "X509Data"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 117
            aload 7 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMX509Data
            dup
            aload 10 /* childElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMX509Data.<init>:(Lorg/w3c/dom/Element;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        23: .line 118
            goto 39
      StackMap locals: org.w3c.dom.Element java.lang.String
      StackMap stack:
        24: aload 11 /* localName */
            ldc "KeyName"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        25: .line 119
            aload 7 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMKeyName
            dup
            aload 10 /* childElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMKeyName.<init>:(Lorg/w3c/dom/Element;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 120
            goto 39
      StackMap locals:
      StackMap stack:
        27: aload 11 /* localName */
            ldc "KeyValue"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        28: .line 121
            aload 7 /* content */
            aload 10 /* childElem */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMKeyValue.unmarshal:(Lorg/w3c/dom/Element;)Ljavax/xml/crypto/dsig/keyinfo/KeyValue;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        29: .line 122
            goto 39
      StackMap locals:
      StackMap stack:
        30: aload 11 /* localName */
            ldc "RetrievalMethod"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        31: .line 123
            aload 7 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMRetrievalMethod
            dup
            aload 10 /* childElem */
        32: .line 124
            aload 2 /* context */
            aload 3 /* provider */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMRetrievalMethod.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
        33: .line 123
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        34: .line 125
            goto 39
      StackMap locals:
      StackMap stack:
        35: aload 11 /* localName */
            ldc "PGPData"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 126
            aload 7 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMPGPData
            dup
            aload 10 /* childElem */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMPGPData.<init>:(Lorg/w3c/dom/Element;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        37: .line 127
            goto 39
        38: .line 128
      StackMap locals:
      StackMap stack:
            aload 7 /* content */
            new javax.xml.crypto.dom.DOMStructure
            dup
            aload 10 /* childElem */
            invokespecial javax.xml.crypto.dom.DOMStructure.<init>:(Lorg/w3c/dom/Node;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String localName
        end local 10 // org.w3c.dom.Element childElem
        end local 9 // org.w3c.dom.Node child
        39: .line 108
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 8 /* i */
            iload 6 /* length */
            if_icmplt 16
        end local 8 // int i
        41: .line 131
            aload 0 /* this */
            aload 7 /* content */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
        42: .line 132
            return
        end local 7 // java.util.List content
        end local 6 // int length
        end local 5 // org.w3c.dom.NodeList nl
        end local 4 // org.w3c.dom.Attr attr
        end local 3 // java.security.Provider provider
        end local 2 // javax.xml.crypto.XMLCryptoContext context
        end local 1 // org.w3c.dom.Element kiElem
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   43     0       this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   43     1     kiElem  Lorg/w3c/dom/Element;
            0   43     2    context  Ljavax/xml/crypto/XMLCryptoContext;
            0   43     3   provider  Ljava/security/Provider;
            2   43     4       attr  Lorg/w3c/dom/Attr;
            8   43     5         nl  Lorg/w3c/dom/NodeList;
            9   43     6     length  I
           14   43     7    content  Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;
           15   41     8          i  I
           17   39     9      child  Lorg/w3c/dom/Node;
           20   39    10  childElem  Lorg/w3c/dom/Element;
           21   39    11  localName  Ljava/lang/String;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      kiElem    
      context   
      provider  

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
         0: .line 135
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;

  public java.util.List<javax.xml.crypto.XMLStructure> getContent();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
         0: .line 139
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
    Signature: ()Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;

  public void marshal(javax.xml.crypto.XMLStructure, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/XMLStructure;Ljavax/xml/crypto/XMLCryptoContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // javax.xml.crypto.XMLStructure parent
        start local 2 // javax.xml.crypto.XMLCryptoContext context
         0: .line 145
            aload 1 /* parent */
            ifnonnull 2
         1: .line 146
            new java.lang.NullPointerException
            dup
            ldc "parent is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            instanceof javax.xml.crypto.dom.DOMStructure
            ifne 4
         3: .line 149
            new java.lang.ClassCastException
            dup
            ldc "parent must be of type DOMStructure"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 152
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            checkcast javax.xml.crypto.dom.DOMStructure
            invokevirtual javax.xml.crypto.dom.DOMStructure.getNode:()Lorg/w3c/dom/Node;
            astore 3 /* pNode */
        start local 3 // org.w3c.dom.Node pNode
         5: .line 153
            aload 2 /* context */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getSignaturePrefix:(Ljavax/xml/crypto/XMLCryptoContext;)Ljava/lang/String;
            astore 4 /* dsPrefix */
        start local 4 // java.lang.String dsPrefix
         6: .line 155
            aload 3 /* pNode */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            ldc "KeyInfo"
         7: .line 156
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 4 /* dsPrefix */
         8: .line 154
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 5 /* kiElem */
        start local 5 // org.w3c.dom.Element kiElem
         9: .line 157
            aload 4 /* dsPrefix */
            ifnull 10
            aload 4 /* dsPrefix */
            invokevirtual java.lang.String.length:()I
            ifne 14
        10: .line 158
      StackMap locals: org.w3c.dom.Node java.lang.String org.w3c.dom.Element
      StackMap stack:
            aload 5 /* kiElem */
            ldc "http://www.w3.org/2000/xmlns/"
        11: .line 159
            ldc "xmlns"
            ldc "http://www.w3.org/2000/09/xmldsig#"
        12: .line 158
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 160
            goto 17
        14: .line 161
      StackMap locals:
      StackMap stack:
            aload 5 /* kiElem */
            ldc "http://www.w3.org/2000/xmlns/"
        15: .line 162
            new java.lang.StringBuilder
            dup
            ldc "xmlns:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* dsPrefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "http://www.w3.org/2000/09/xmldsig#"
        16: .line 161
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        17: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pNode */
            aload 5 /* kiElem */
            aconst_null
            aload 4 /* dsPrefix */
            aload 2 /* context */
            checkcast javax.xml.crypto.dom.DOMCryptoContext
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyInfo.marshal:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Element;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
        18: .line 165
            return
        end local 5 // org.w3c.dom.Element kiElem
        end local 4 // java.lang.String dsPrefix
        end local 3 // org.w3c.dom.Node pNode
        end local 2 // javax.xml.crypto.XMLCryptoContext context
        end local 1 // javax.xml.crypto.XMLStructure parent
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   19     1    parent  Ljavax/xml/crypto/XMLStructure;
            0   19     2   context  Ljavax/xml/crypto/XMLCryptoContext;
            5   19     3     pNode  Lorg/w3c/dom/Node;
            6   19     4  dsPrefix  Ljava/lang/String;
            9   19     5    kiElem  Lorg/w3c/dom/Element;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
         Name  Flags
      parent   
      context  

  public void marshal(org.w3c.dom.Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // org.w3c.dom.Node parent
        start local 2 // java.lang.String dsPrefix
        start local 3 // javax.xml.crypto.dom.DOMCryptoContext context
         0: .line 171
            aload 0 /* this */
            aload 1 /* parent */
            aconst_null
            aload 2 /* dsPrefix */
            aload 3 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyInfo.marshal:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
         1: .line 172
            return
        end local 3 // javax.xml.crypto.dom.DOMCryptoContext context
        end local 2 // java.lang.String dsPrefix
        end local 1 // org.w3c.dom.Node parent
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0    2     1    parent  Lorg/w3c/dom/Node;
            0    2     2  dsPrefix  Ljava/lang/String;
            0    2     3   context  Ljavax/xml/crypto/dom/DOMCryptoContext;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      parent    
      dsPrefix  
      context   

  public void marshal(org.w3c.dom.Node, org.w3c.dom.Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // org.w3c.dom.Node parent
        start local 2 // org.w3c.dom.Node nextSibling
        start local 3 // java.lang.String dsPrefix
        start local 4 // javax.xml.crypto.dom.DOMCryptoContext context
         0: .line 178
            aload 1 /* parent */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            astore 5 /* ownerDoc */
        start local 5 // org.w3c.dom.Document ownerDoc
         1: .line 179
            aload 5 /* ownerDoc */
            ldc "KeyInfo"
         2: .line 180
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 3 /* dsPrefix */
         3: .line 179
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.createElement:(Lorg/w3c/dom/Document;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 6 /* kiElem */
        start local 6 // org.w3c.dom.Element kiElem
         4: .line 181
            aload 0 /* this */
            aload 1 /* parent */
            aload 6 /* kiElem */
            aload 2 /* nextSibling */
            aload 3 /* dsPrefix */
            aload 4 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMKeyInfo.marshal:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Element;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
         5: .line 182
            return
        end local 6 // org.w3c.dom.Element kiElem
        end local 5 // org.w3c.dom.Document ownerDoc
        end local 4 // javax.xml.crypto.dom.DOMCryptoContext context
        end local 3 // java.lang.String dsPrefix
        end local 2 // org.w3c.dom.Node nextSibling
        end local 1 // org.w3c.dom.Node parent
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0    6     1       parent  Lorg/w3c/dom/Node;
            0    6     2  nextSibling  Lorg/w3c/dom/Node;
            0    6     3     dsPrefix  Ljava/lang/String;
            0    6     4      context  Ljavax/xml/crypto/dom/DOMCryptoContext;
            1    6     5     ownerDoc  Lorg/w3c/dom/Document;
            4    6     6       kiElem  Lorg/w3c/dom/Element;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
             Name  Flags
      parent       
      nextSibling  
      dsPrefix     
      context      

  private void marshal(org.w3c.dom.Node, org.w3c.dom.Element, org.w3c.dom.Node, java.lang.String, javax.xml.crypto.dom.DOMCryptoContext);
    descriptor: (Lorg/w3c/dom/Node;Lorg/w3c/dom/Element;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // org.w3c.dom.Node parent
        start local 2 // org.w3c.dom.Element kiElem
        start local 3 // org.w3c.dom.Node nextSibling
        start local 4 // java.lang.String dsPrefix
        start local 5 // javax.xml.crypto.dom.DOMCryptoContext context
         0: .line 189
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 8
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyInfo org.w3c.dom.Node org.w3c.dom.Element org.w3c.dom.Node java.lang.String javax.xml.crypto.dom.DOMCryptoContext top java.util.Iterator
      StackMap stack:
         1: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.XMLStructure
            astore 6 /* kiType */
        start local 6 // javax.xml.crypto.XMLStructure kiType
         2: .line 190
            aload 6 /* kiType */
            instanceof org.jcp.xml.dsig.internal.dom.DOMStructure
            ifeq 5
         3: .line 191
            aload 6 /* kiType */
            checkcast org.jcp.xml.dsig.internal.dom.DOMStructure
            aload 2 /* kiElem */
            aload 4 /* dsPrefix */
            aload 5 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMStructure.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
         4: .line 192
            goto 8
         5: .line 193
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyInfo org.w3c.dom.Node org.w3c.dom.Element org.w3c.dom.Node java.lang.String javax.xml.crypto.dom.DOMCryptoContext javax.xml.crypto.XMLStructure java.util.Iterator
      StackMap stack:
            aload 2 /* kiElem */
         6: .line 194
            aload 6 /* kiType */
            checkcast javax.xml.crypto.dom.DOMStructure
            invokevirtual javax.xml.crypto.dom.DOMStructure.getNode:()Lorg/w3c/dom/Node;
         7: .line 193
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.appendChild:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)V
        end local 6 // javax.xml.crypto.XMLStructure kiType
         8: .line 189
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyInfo org.w3c.dom.Node org.w3c.dom.Element org.w3c.dom.Node java.lang.String javax.xml.crypto.dom.DOMCryptoContext top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 199
            aload 2 /* kiElem */
            ldc "Id"
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.setAttributeID:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
        10: .line 201
            aload 1 /* parent */
            aload 2 /* kiElem */
            aload 3 /* nextSibling */
            invokeinterface org.w3c.dom.Node.insertBefore:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        11: .line 202
            return
        end local 5 // javax.xml.crypto.dom.DOMCryptoContext context
        end local 4 // java.lang.String dsPrefix
        end local 3 // org.w3c.dom.Node nextSibling
        end local 2 // org.w3c.dom.Element kiElem
        end local 1 // org.w3c.dom.Node parent
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   12     1       parent  Lorg/w3c/dom/Node;
            0   12     2       kiElem  Lorg/w3c/dom/Element;
            0   12     3  nextSibling  Lorg/w3c/dom/Node;
            0   12     4     dsPrefix  Ljava/lang/String;
            0   12     5      context  Ljavax/xml/crypto/dom/DOMCryptoContext;
            2    8     6       kiType  Ljavax/xml/crypto/XMLStructure;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
             Name  Flags
      parent       
      kiElem       
      nextSibling  
      dsPrefix     
      context      

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
        start local 1 // java.lang.Object o
         0: .line 206
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 207
            iconst_1
            ireturn
         2: .line 210
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.xml.crypto.dsig.keyinfo.KeyInfo
            ifne 4
         3: .line 211
            iconst_0
            ireturn
         4: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast javax.xml.crypto.dsig.keyinfo.KeyInfo
            astore 2 /* oki */
        start local 2 // javax.xml.crypto.dsig.keyinfo.KeyInfo oki
         5: .line 215
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            ifnonnull 7
            aload 2 /* oki */
            invokeinterface javax.xml.crypto.dsig.keyinfo.KeyInfo.getId:()Ljava/lang/String;
            ifnonnull 6
            iconst_1
            goto 8
      StackMap locals: javax.xml.crypto.dsig.keyinfo.KeyInfo
      StackMap stack:
         6: iconst_0
            goto 8
         7: .line 216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            aload 2 /* oki */
            invokeinterface javax.xml.crypto.dsig.keyinfo.KeyInfo.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         8: .line 215
      StackMap locals:
      StackMap stack: int
            istore 3 /* idsEqual */
        start local 3 // boolean idsEqual
         9: .line 218
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            aload 2 /* oki */
            invokeinterface javax.xml.crypto.dsig.keyinfo.KeyInfo.getContent:()Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifeq 10
            iload 3 /* idsEqual */
            ifeq 10
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
        10: iconst_0
            ireturn
        end local 3 // boolean idsEqual
        end local 2 // javax.xml.crypto.dsig.keyinfo.KeyInfo oki
        end local 1 // java.lang.Object o
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   11     1         o  Ljava/lang/Object;
            5   11     2       oki  Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            9   11     3  idsEqual  Z
    MethodParameters:
      Name  Flags
      o     

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
         0: .line 223
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 224
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            ifnull 3
         2: .line 225
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iadd
            istore 1 /* result */
         3: .line 227
      StackMap locals: int
      StackMap stack:
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
         4: .line 229
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMKeyInfo this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            1    5     1  result  I
}
SourceFile: "DOMKeyInfo.java"