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 static java.util.List<javax.xml.crypto.XMLStructure> getContent(javax.xml.crypto.dsig.keyinfo.KeyInfo);
    descriptor: (Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;)Ljava/util/List;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.xml.crypto.dsig.keyinfo.KeyInfo ki
         0: .line 65
            aload 0 /* ki */
            invokeinterface javax.xml.crypto.dsig.keyinfo.KeyInfo.getContent:()Ljava/util/List;
            areturn
        end local 0 // javax.xml.crypto.dsig.keyinfo.KeyInfo ki
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    ki  Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
    Signature: (Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;)Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;
    MethodParameters:
      Name  Flags
      ki    

  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=5, locals=5, 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 80
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
         1: .line 81
            aload 1 /* content */
            ifnonnull 3
         2: .line 82
            new java.lang.NullPointerException
            dup
            ldc "content cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 84
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMKeyInfo java.util.List java.lang.String
      StackMap stack:
            aload 0 /* this */
         4: .line 85
            new java.util.ArrayList
            dup
            aload 1 /* content */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
         5: .line 84
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
         6: .line 86
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 8
         7: .line 87
            new java.lang.IllegalArgumentException
            dup
            ldc "content cannot be empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 89
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         9: aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 4 /* size */
        start local 4 // int size
        10: goto 16
        11: .line 90
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            instanceof javax.xml.crypto.XMLStructure
            ifne 15
        12: .line 91
            new java.lang.ClassCastException
            dup
        13: .line 92
            new java.lang.StringBuilder
            dup
            ldc "content["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "] is not a valid KeyInfo type"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 91
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 89
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            iload 4 /* size */
            if_icmplt 11
        end local 4 // int size
        end local 3 // int i
        17: .line 95
            aload 0 /* this */
            aload 2 /* id */
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
        18: .line 96
            return
        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   19     0     this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   19     1  content  Ljava/util/List<+Ljavax/xml/crypto/XMLStructure;>;
            0   19     2       id  Ljava/lang/String;
            9   17     3        i  I
           10   17     4     size  I
    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=10, 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 103
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
         1: .line 108
            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 109
            aload 4 /* attr */
            ifnull 6
         3: .line 110
            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 111
            aload 1 /* kiElem */
            aload 4 /* attr */
            iconst_1
            invokeinterface org.w3c.dom.Element.setIdAttributeNode:(Lorg/w3c/dom/Attr;Z)V
         5: .line 112
            goto 7
         6: .line 113
      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 117
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* content */
        start local 5 // java.util.List content
         8: .line 118
            aload 1 /* kiElem */
            invokeinterface org.w3c.dom.Element.getFirstChild:()Lorg/w3c/dom/Node;
            astore 6 /* firstChild */
        start local 6 // org.w3c.dom.Node firstChild
         9: .line 119
            aload 6 /* firstChild */
            ifnonnull 34
        10: .line 120
            new javax.xml.crypto.MarshalException
            dup
            ldc "KeyInfo must contain at least one type"
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 123
      StackMap locals: java.util.List org.w3c.dom.Node
      StackMap stack:
            aload 6 /* firstChild */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            iconst_1
            if_icmpne 33
        12: .line 124
            aload 6 /* firstChild */
            checkcast org.w3c.dom.Element
            astore 7 /* childElem */
        start local 7 // org.w3c.dom.Element childElem
        13: .line 125
            aload 7 /* childElem */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            astore 8 /* localName */
        start local 8 // java.lang.String localName
        14: .line 126
            aload 7 /* childElem */
            invokeinterface org.w3c.dom.Element.getNamespaceURI:()Ljava/lang/String;
            astore 9 /* namespace */
        start local 9 // java.lang.String namespace
        15: .line 127
            ldc "X509Data"
            aload 8 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 9 /* namespace */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 128
            aload 5 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMX509Data
            dup
            aload 7 /* 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
        17: .line 129
            goto 33
      StackMap locals: org.w3c.dom.Element java.lang.String java.lang.String
      StackMap stack:
        18: ldc "KeyName"
            aload 8 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 9 /* namespace */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 130
            aload 5 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMKeyName
            dup
            aload 7 /* 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
        20: .line 131
            goto 33
      StackMap locals:
      StackMap stack:
        21: ldc "KeyValue"
            aload 8 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 9 /* namespace */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 132
            aload 5 /* content */
            aload 7 /* 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
        23: .line 133
            goto 33
      StackMap locals:
      StackMap stack:
        24: ldc "RetrievalMethod"
            aload 8 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 9 /* namespace */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        25: .line 134
            aload 5 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMRetrievalMethod
            dup
            aload 7 /* childElem */
        26: .line 135
            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
        27: .line 134
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 136
            goto 33
      StackMap locals:
      StackMap stack:
        29: ldc "PGPData"
            aload 8 /* localName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 9 /* namespace */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 137
            aload 5 /* content */
            new org.jcp.xml.dsig.internal.dom.DOMPGPData
            dup
            aload 7 /* 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
        31: .line 138
            goto 33
        32: .line 139
      StackMap locals:
      StackMap stack:
            aload 5 /* content */
            new javax.xml.crypto.dom.DOMStructure
            dup
            aload 7 /* 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 9 // java.lang.String namespace
        end local 8 // java.lang.String localName
        end local 7 // org.w3c.dom.Element childElem
        33: .line 142
      StackMap locals:
      StackMap stack:
            aload 6 /* firstChild */
            invokeinterface org.w3c.dom.Node.getNextSibling:()Lorg/w3c/dom/Node;
            astore 6 /* firstChild */
        34: .line 122
      StackMap locals:
      StackMap stack:
            aload 6 /* firstChild */
            ifnonnull 11
        35: .line 144
            aload 0 /* this */
            aload 5 /* content */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.keyInfoTypes:Ljava/util/List;
        36: .line 145
            return
        end local 6 // org.w3c.dom.Node firstChild
        end local 5 // java.util.List content
        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   37     0        this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   37     1      kiElem  Lorg/w3c/dom/Element;
            0   37     2     context  Ljavax/xml/crypto/XMLCryptoContext;
            0   37     3    provider  Ljava/security/Provider;
            2   37     4        attr  Lorg/w3c/dom/Attr;
            8   37     5     content  Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;
            9   37     6  firstChild  Lorg/w3c/dom/Node;
           13   33     7   childElem  Lorg/w3c/dom/Element;
           14   33     8   localName  Ljava/lang/String;
           15   33     9   namespace  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 148
            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 152
            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=7, 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 158
            aload 1 /* parent */
            ifnonnull 2
         1: .line 159
            new java.lang.NullPointerException
            dup
            ldc "parent is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            instanceof javax.xml.crypto.dom.DOMStructure
            ifne 4
         3: .line 162
            new java.lang.ClassCastException
            dup
            ldc "parent must be of type DOMStructure"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 165
      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 166
            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 168
            aload 3 /* pNode */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            ldc "KeyInfo"
         7: .line 169
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 4 /* dsPrefix */
         8: .line 167
            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 170
            aload 4 /* dsPrefix */
            ifnull 10
            aload 4 /* dsPrefix */
            invokevirtual java.lang.String.length:()I
            ifne 14
        10: .line 171
      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 172
            ldc "xmlns"
            ldc "http://www.w3.org/2000/09/xmldsig#"
        12: .line 171
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        13: .line 173
            goto 17
        14: .line 174
      StackMap locals:
      StackMap stack:
            aload 5 /* kiElem */
            ldc "http://www.w3.org/2000/xmlns/"
        15: .line 175
            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 174
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        17: .line 178
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* nextSibling */
        start local 6 // org.w3c.dom.Node nextSibling
        18: .line 179
            aload 2 /* context */
            instanceof javax.xml.crypto.dsig.dom.DOMSignContext
            ifeq 20
        19: .line 180
            aload 2 /* context */
            checkcast javax.xml.crypto.dsig.dom.DOMSignContext
            invokevirtual javax.xml.crypto.dsig.dom.DOMSignContext.getNextSibling:()Lorg/w3c/dom/Node;
            astore 6 /* nextSibling */
        20: .line 182
      StackMap locals: org.w3c.dom.Node
      StackMap stack:
            aload 0 /* this */
            aload 3 /* pNode */
            aload 5 /* kiElem */
            aload 6 /* nextSibling */
            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
        21: .line 183
            return
        end local 6 // org.w3c.dom.Node nextSibling
        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   22     0         this  Lorg/jcp/xml/dsig/internal/dom/DOMKeyInfo;
            0   22     1       parent  Ljavax/xml/crypto/XMLStructure;
            0   22     2      context  Ljavax/xml/crypto/XMLCryptoContext;
            5   22     3        pNode  Lorg/w3c/dom/Node;
            6   22     4     dsPrefix  Ljava/lang/String;
            9   22     5       kiElem  Lorg/w3c/dom/Element;
           18   22     6  nextSibling  Lorg/w3c/dom/Node;
    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 190
            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 191
            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 197
            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 198
            aload 5 /* ownerDoc */
            ldc "KeyInfo"
         2: .line 199
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 3 /* dsPrefix */
         3: .line 198
            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 200
            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 201
            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 208
            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 209
            aload 6 /* kiType */
            instanceof org.jcp.xml.dsig.internal.dom.DOMStructure
            ifeq 5
         3: .line 210
            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 211
            goto 8
         5: .line 212
      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 213
            aload 6 /* kiType */
            checkcast javax.xml.crypto.dom.DOMStructure
            invokevirtual javax.xml.crypto.dom.DOMStructure.getNode:()Lorg/w3c/dom/Node;
         7: .line 212
            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 208
      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 218
            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 220
            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 221
            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 225
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 226
            iconst_1
            ireturn
         2: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.xml.crypto.dsig.keyinfo.KeyInfo
            ifne 4
         3: .line 230
            iconst_0
            ireturn
         4: .line 232
      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 234
            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 235
      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 234
      StackMap locals:
      StackMap stack: int
            istore 3 /* idsEqual */
        start local 3 // boolean idsEqual
         9: .line 237
            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 242
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 243
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMKeyInfo.id:Ljava/lang/String;
            ifnull 3
         2: .line 244
            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 246
      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 248
            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"