public final class org.jcp.xml.dsig.internal.dom.DOMXMLSignature extends org.jcp.xml.dsig.internal.dom.DOMStructure implements javax.xml.crypto.dsig.XMLSignature
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.jcp.xml.dsig.internal.dom.DOMXMLSignature
  super_class: org.jcp.xml.dsig.internal.dom.DOMStructure
{
  private static java.util.logging.Logger log;
    descriptor: Ljava/util/logging/Logger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.lang.String id;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private javax.xml.crypto.dsig.XMLSignature$SignatureValue sv;
    descriptor: Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
    flags: (0x0002) ACC_PRIVATE

  private javax.xml.crypto.dsig.keyinfo.KeyInfo ki;
    descriptor: Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<javax.xml.crypto.dsig.XMLObject> objects;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljavax/xml/crypto/dsig/XMLObject;>;

  private javax.xml.crypto.dsig.SignedInfo si;
    descriptor: Ljavax/xml/crypto/dsig/SignedInfo;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Document ownerDoc;
    descriptor: Lorg/w3c/dom/Document;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element localSigElem;
    descriptor: Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private org.w3c.dom.Element sigElem;
    descriptor: Lorg/w3c/dom/Element;
    flags: (0x0002) ACC_PRIVATE

  private boolean validationStatus;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean validated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private javax.xml.crypto.KeySelectorResult ksr;
    descriptor: Ljavax/xml/crypto/KeySelectorResult;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.lang.String, javax.xml.crypto.XMLStructure> signatureIdMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljavax/xml/crypto/XMLStructure;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 71
            ldc "org.jcp.xml.dsig.internal.dom"
            invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
         1: .line 70
            putstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
         2: .line 86
            invokestatic com.sun.org.apache.xml.internal.security.Init.init:()V
         3: .line 87
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javax.xml.crypto.dsig.SignedInfo, javax.xml.crypto.dsig.keyinfo.KeyInfo, java.util.List<? extends javax.xml.crypto.dsig.XMLObject>, java.lang.String, java.lang.String);
    descriptor: (Ljavax/xml/crypto/dsig/SignedInfo;Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
        start local 1 // javax.xml.crypto.dsig.SignedInfo si
        start local 2 // javax.xml.crypto.dsig.keyinfo.KeyInfo ki
        start local 3 // java.util.List objs
        start local 4 // java.lang.String id
        start local 5 // java.lang.String signatureValueId
         0: .line 102
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
         1: .line 77
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ownerDoc:Lorg/w3c/dom/Document;
         2: .line 78
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
         3: .line 79
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
         4: .line 81
            aload 0 /* this */
            iconst_0
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validated:Z
         5: .line 106
            aload 1 /* si */
            ifnonnull 7
         6: .line 107
            new java.lang.NullPointerException
            dup
            ldc "signedInfo cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 109
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.SignedInfo javax.xml.crypto.dsig.keyinfo.KeyInfo java.util.List java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* si */
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
         8: .line 110
            aload 0 /* this */
            aload 4 /* id */
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
         9: .line 111
            aload 0 /* this */
            new org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue
            dup
            aload 0 /* this */
            aload 5 /* signatureValueId */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue.<init>:(Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;Ljava/lang/String;)V
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
        10: .line 113
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
        11: .line 114
            ldc Ljavax/xml/crypto/dsig/XMLObject;
        12: .line 113
            invokestatic java.util.Collections.checkedList:(Ljava/util/List;Ljava/lang/Class;)Ljava/util/List;
        13: .line 112
            astore 6 /* tempList */
        start local 6 // java.util.List tempList
        14: .line 115
            aload 3 /* objs */
            ifnull 16
        15: .line 116
            aload 6 /* tempList */
            aload 3 /* objs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        16: .line 118
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 6 /* tempList */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
        17: .line 119
            aload 0 /* this */
            aload 2 /* ki */
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
        18: .line 120
            return
        end local 6 // java.util.List tempList
        end local 5 // java.lang.String signatureValueId
        end local 4 // java.lang.String id
        end local 3 // java.util.List objs
        end local 2 // javax.xml.crypto.dsig.keyinfo.KeyInfo ki
        end local 1 // javax.xml.crypto.dsig.SignedInfo si
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   19     1                si  Ljavax/xml/crypto/dsig/SignedInfo;
            0   19     2                ki  Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            0   19     3              objs  Ljava/util/List<+Ljavax/xml/crypto/dsig/XMLObject;>;
            0   19     4                id  Ljava/lang/String;
            0   19     5  signatureValueId  Ljava/lang/String;
           14   19     6          tempList  Ljava/util/List<Ljavax/xml/crypto/dsig/XMLObject;>;
    Signature: (Ljavax/xml/crypto/dsig/SignedInfo;Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;Ljava/util/List<+Ljavax/xml/crypto/dsig/XMLObject;>;Ljava/lang/String;Ljava/lang/String;)V
    MethodParameters:
                  Name  Flags
      si                
      ki                
      objs              
      id                
      signatureValueId  

  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=9, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
        start local 1 // org.w3c.dom.Element sigElem
        start local 2 // javax.xml.crypto.XMLCryptoContext context
        start local 3 // java.security.Provider provider
         0: .line 128
            aload 0 /* this */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMStructure.<init>:()V
         1: .line 77
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ownerDoc:Lorg/w3c/dom/Document;
         2: .line 78
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
         3: .line 79
            aload 0 /* this */
            aconst_null
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
         4: .line 81
            aload 0 /* this */
            iconst_0
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validated:Z
         5: .line 132
            aload 0 /* this */
            aload 1 /* sigElem */
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
         6: .line 133
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
            invokeinterface org.w3c.dom.Element.getOwnerDocument:()Lorg/w3c/dom/Document;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ownerDoc:Lorg/w3c/dom/Document;
         7: .line 136
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
            ldc "Id"
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getAttributeValue:(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/lang/String;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
         8: .line 139
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
         9: .line 140
            ldc "SignedInfo"
        10: .line 139
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getFirstChildElement:(Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 4 /* siElem */
        start local 4 // org.w3c.dom.Element siElem
        11: .line 141
            aload 0 /* this */
            new org.jcp.xml.dsig.internal.dom.DOMSignedInfo
            dup
            aload 4 /* siElem */
            aload 2 /* context */
            aload 3 /* provider */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMSignedInfo.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
        12: .line 144
            aload 4 /* siElem */
        13: .line 145
            ldc "SignatureValue"
        14: .line 144
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 5 /* sigValElem */
        start local 5 // org.w3c.dom.Element sigValElem
        15: .line 146
            aload 0 /* this */
            new org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue
            dup
            aload 0 /* this */
            aload 5 /* sigValElem */
            aload 2 /* context */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue.<init>:(Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;)V
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
        16: .line 149
            aload 5 /* sigValElem */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
            astore 6 /* nextSibling */
        start local 6 // org.w3c.dom.Element nextSibling
        17: .line 150
            aload 6 /* nextSibling */
            ifnull 20
            aload 6 /* nextSibling */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            ldc "KeyInfo"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        18: .line 151
            aload 0 /* this */
            new org.jcp.xml.dsig.internal.dom.DOMKeyInfo
            dup
            aload 6 /* nextSibling */
            aload 2 /* context */
            aload 3 /* provider */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMKeyInfo.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
        19: .line 152
            aload 6 /* nextSibling */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
            astore 6 /* nextSibling */
        20: .line 156
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.w3c.dom.Element javax.xml.crypto.XMLCryptoContext java.security.Provider org.w3c.dom.Element org.w3c.dom.Element org.w3c.dom.Element
      StackMap stack:
            aload 6 /* nextSibling */
            ifnonnull 23
        21: .line 157
            aload 0 /* this */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
        22: .line 158
            goto 36
        23: .line 159
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* tempObjects */
        start local 7 // java.util.List tempObjects
        24: .line 160
            goto 34
        25: .line 161
      StackMap locals: java.util.List
      StackMap stack:
            aload 6 /* nextSibling */
            invokeinterface org.w3c.dom.Element.getLocalName:()Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
        26: .line 162
            aload 8 /* name */
            ldc "Object"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 30
        27: .line 163
            new javax.xml.crypto.MarshalException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid element name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        28: .line 164
            ldc ", expected KeyInfo or Object"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 163
            invokespecial javax.xml.crypto.MarshalException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 166
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* tempObjects */
            new org.jcp.xml.dsig.internal.dom.DOMXMLObject
            dup
            aload 6 /* nextSibling */
        31: .line 167
            aload 2 /* context */
            aload 3 /* provider */
            invokespecial org.jcp.xml.dsig.internal.dom.DOMXMLObject.<init>:(Lorg/w3c/dom/Element;Ljavax/xml/crypto/XMLCryptoContext;Ljava/security/Provider;)V
        32: .line 166
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        33: .line 168
            aload 6 /* nextSibling */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getNextSiblingElement:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Element;
            astore 6 /* nextSibling */
        end local 8 // java.lang.String name
        34: .line 160
      StackMap locals:
      StackMap stack:
            aload 6 /* nextSibling */
            ifnonnull 25
        35: .line 170
            aload 0 /* this */
            aload 7 /* tempObjects */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
        end local 7 // java.util.List tempObjects
        36: .line 172
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.w3c.dom.Element nextSibling
        end local 5 // org.w3c.dom.Element sigValElem
        end local 4 // org.w3c.dom.Element siElem
        end local 3 // java.security.Provider provider
        end local 2 // javax.xml.crypto.XMLCryptoContext context
        end local 1 // org.w3c.dom.Element sigElem
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   37     1      sigElem  Lorg/w3c/dom/Element;
            0   37     2      context  Ljavax/xml/crypto/XMLCryptoContext;
            0   37     3     provider  Ljava/security/Provider;
           11   37     4       siElem  Lorg/w3c/dom/Element;
           15   37     5   sigValElem  Lorg/w3c/dom/Element;
           17   37     6  nextSibling  Lorg/w3c/dom/Element;
           24   36     7  tempObjects  Ljava/util/List<Ljavax/xml/crypto/dsig/XMLObject;>;
           26   34     8         name  Ljava/lang/String;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
          Name  Flags
      sigElem   
      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.DOMXMLSignature this
         0: .line 175
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;

  public javax.xml.crypto.dsig.keyinfo.KeyInfo getKeyInfo();
    descriptor: ()Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
         0: .line 179
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;

  public javax.xml.crypto.dsig.SignedInfo getSignedInfo();
    descriptor: ()Ljavax/xml/crypto/dsig/SignedInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
         0: .line 183
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;

  public java.util.List<javax.xml.crypto.dsig.XMLObject> getObjects();
    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.DOMXMLSignature this
         0: .line 187
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
    Signature: ()Ljava/util/List<Ljavax/xml/crypto/dsig/XMLObject;>;

  public javax.xml.crypto.dsig.XMLSignature$SignatureValue getSignatureValue();
    descriptor: ()Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
         0: .line 191
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;

  public javax.xml.crypto.KeySelectorResult getKeySelectorResult();
    descriptor: ()Ljavax/xml/crypto/KeySelectorResult;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
         0: .line 195
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ksr:Ljavax/xml/crypto/KeySelectorResult;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;

  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.DOMXMLSignature 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 201
            aload 0 /* this */
            aload 1 /* parent */
            aconst_null
            aload 2 /* dsPrefix */
            aload 3 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature.marshal:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
         1: .line 202
            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.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            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=5, locals=7, args_size=5
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature 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 208
            aload 0 /* this */
            aload 1 /* parent */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ownerDoc:Lorg/w3c/dom/Document;
         1: .line 209
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ownerDoc:Lorg/w3c/dom/Document;
            ldc "Signature"
         2: .line 210
            ldc "http://www.w3.org/2000/09/xmldsig#"
            aload 3 /* dsPrefix */
         3: .line 209
            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;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
         4: .line 213
            aload 3 /* dsPrefix */
            ifnull 5
            aload 3 /* dsPrefix */
            invokevirtual java.lang.String.length:()I
            ifne 9
         5: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            ldc "http://www.w3.org/2000/xmlns/"
            ldc "xmlns"
         6: .line 215
            ldc "http://www.w3.org/2000/09/xmldsig#"
         7: .line 214
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         8: .line 216
            goto 12
         9: .line 217
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            ldc "http://www.w3.org/2000/xmlns/"
            new java.lang.StringBuilder
            dup
            ldc "xmlns:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 218
            aload 3 /* 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#"
        11: .line 217
            invokeinterface org.w3c.dom.Element.setAttributeNS:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        12: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            checkcast org.jcp.xml.dsig.internal.dom.DOMSignedInfo
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            aload 3 /* dsPrefix */
            aload 4 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSignedInfo.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
        13: .line 225
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            checkcast org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            aload 3 /* dsPrefix */
            aload 4 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
        14: .line 228
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            ifnull 16
        15: .line 229
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            checkcast org.jcp.xml.dsig.internal.dom.DOMKeyInfo
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            aconst_null
            aload 3 /* dsPrefix */
            aload 4 /* 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
        16: .line 233
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        17: aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 6 /* size */
        start local 6 // int size
        18: goto 21
        19: .line 234
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jcp.xml.dsig.internal.dom.DOMXMLObject
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            aload 3 /* dsPrefix */
            aload 4 /* context */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLObject.marshal:(Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
        20: .line 233
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            iload 6 /* size */
            if_icmplt 19
        end local 6 // int size
        end local 5 // int i
        22: .line 238
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            ldc "Id"
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.setAttributeID:(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
        23: .line 240
            aload 1 /* parent */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            aload 2 /* nextSibling */
            invokeinterface org.w3c.dom.Node.insertBefore:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        24: .line 241
            return
        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.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0         this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   25     1       parent  Lorg/w3c/dom/Node;
            0   25     2  nextSibling  Lorg/w3c/dom/Node;
            0   25     3     dsPrefix  Ljava/lang/String;
            0   25     4      context  Ljavax/xml/crypto/dom/DOMCryptoContext;
           17   22     5            i  I
           18   22     6         size  I
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
             Name  Flags
      parent       
      nextSibling  
      dsPrefix     
      context      

  public boolean validate(javax.xml.crypto.dsig.XMLValidateContext);
    descriptor: (Ljavax/xml/crypto/dsig/XMLValidateContext;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=19, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
        start local 1 // javax.xml.crypto.dsig.XMLValidateContext vc
         0: .line 246
            aload 1 /* vc */
            ifnonnull 2
         1: .line 247
            new java.lang.NullPointerException
            dup
            ldc "validateContext is null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 250
      StackMap locals:
      StackMap stack:
            aload 1 /* vc */
            instanceof javax.xml.crypto.dsig.dom.DOMValidateContext
            ifne 6
         3: .line 251
            new java.lang.ClassCastException
            dup
         4: .line 252
            ldc "validateContext must be of type DOMValidateContext"
         5: .line 251
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validated:Z
            ifeq 8
         7: .line 256
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
            ireturn
         8: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            aload 1 /* vc */
            invokeinterface javax.xml.crypto.dsig.XMLSignature$SignatureValue.validate:(Ljavax/xml/crypto/dsig/XMLValidateContext;)Z
            istore 2 /* sigValidity */
        start local 2 // boolean sigValidity
         9: .line 261
            iload 2 /* sigValidity */
            ifne 13
        10: .line 262
            aload 0 /* this */
            iconst_0
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
        11: .line 263
            aload 0 /* this */
            iconst_1
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validated:Z
        12: .line 264
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
            ireturn
        13: .line 268
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokeinterface javax.xml.crypto.dsig.SignedInfo.getReferences:()Ljava/util/List;
            astore 3 /* refs */
        start local 3 // java.util.List refs
        14: .line 269
            iconst_1
            istore 4 /* validateRefs */
        start local 4 // boolean validateRefs
        15: .line 270
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        16: aload 3 /* refs */
            invokeinterface java.util.List.size:()I
            istore 6 /* size */
        start local 6 // int size
        17: goto 24
        18: .line 271
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLValidateContext int java.util.List int int int
      StackMap stack:
            aload 3 /* refs */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Reference
            astore 7 /* ref */
        start local 7 // javax.xml.crypto.dsig.Reference ref
        19: .line 272
            aload 7 /* ref */
            aload 1 /* vc */
            invokeinterface javax.xml.crypto.dsig.Reference.validate:(Ljavax/xml/crypto/dsig/XMLValidateContext;)Z
            istore 8 /* refValid */
        start local 8 // boolean refValid
        20: .line 273
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 22
        21: .line 274
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            new java.lang.StringBuilder
            dup
            ldc "Reference["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* ref */
            invokeinterface javax.xml.crypto.dsig.Reference.getURI:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] is valid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 8 /* refValid */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        22: .line 276
      StackMap locals: javax.xml.crypto.dsig.Reference int
      StackMap stack:
            iload 4 /* validateRefs */
            iload 8 /* refValid */
            iand
            istore 4 /* validateRefs */
        end local 8 // boolean refValid
        end local 7 // javax.xml.crypto.dsig.Reference ref
        23: .line 270
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 4 /* validateRefs */
            ifeq 25
            iload 5 /* i */
            iload 6 /* size */
            if_icmplt 18
        end local 6 // int size
        end local 5 // int i
        25: .line 278
      StackMap locals:
      StackMap stack:
            iload 4 /* validateRefs */
            ifne 31
        26: .line 279
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 28
        27: .line 280
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "Couldn't validate the References"
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        28: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
        29: .line 283
            aload 0 /* this */
            iconst_1
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validated:Z
        30: .line 284
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
            ireturn
        31: .line 288
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* validateMans */
        start local 5 // boolean validateMans
        32: .line 289
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            aload 1 /* vc */
        33: .line 290
            ldc "org.jcp.xml.dsig.validateManifests"
        34: .line 289
            invokeinterface javax.xml.crypto.dsig.XMLValidateContext.getProperty:(Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual java.lang.Boolean.equals:(Ljava/lang/Object;)Z
        35: .line 290
            ifeq 66
        36: .line 292
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        37: aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 7 /* size */
        start local 7 // int size
        38: goto 65
        39: .line 293
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.XMLObject
            astore 8 /* xo */
        start local 8 // javax.xml.crypto.dsig.XMLObject xo
        40: .line 294
            aload 8 /* xo */
            invokeinterface javax.xml.crypto.dsig.XMLObject.getContent:()Ljava/util/List;
            astore 9 /* content */
        start local 9 // java.util.List content
        41: .line 295
            aload 9 /* content */
            invokeinterface java.util.List.size:()I
            istore 10 /* csize */
        start local 10 // int csize
        42: .line 296
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        43: goto 63
        44: .line 297
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLValidateContext int java.util.List int int int int javax.xml.crypto.dsig.XMLObject java.util.List int int
      StackMap stack:
            aload 9 /* content */
            iload 11 /* j */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.xml.crypto.XMLStructure
            astore 12 /* xs */
        start local 12 // javax.xml.crypto.XMLStructure xs
        45: .line 298
            aload 12 /* xs */
            instanceof javax.xml.crypto.dsig.Manifest
            ifeq 62
        46: .line 299
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 48
        47: .line 300
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            ldc "validating manifest"
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        48: .line 302
      StackMap locals: javax.xml.crypto.XMLStructure
      StackMap stack:
            aload 12 /* xs */
            checkcast javax.xml.crypto.dsig.Manifest
            astore 13 /* man */
        start local 13 // javax.xml.crypto.dsig.Manifest man
        49: .line 303
            aload 13 /* man */
            invokeinterface javax.xml.crypto.dsig.Manifest.getReferences:()Ljava/util/List;
            astore 14 /* manRefs */
        start local 14 // java.util.List manRefs
        50: .line 304
            aload 14 /* manRefs */
            invokeinterface java.util.List.size:()I
            istore 15 /* rsize */
        start local 15 // int rsize
        51: .line 305
            iconst_0
            istore 16 /* k */
        start local 16 // int k
        52: goto 61
        53: .line 306
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLValidateContext int java.util.List int int int int javax.xml.crypto.dsig.XMLObject java.util.List int int javax.xml.crypto.XMLStructure javax.xml.crypto.dsig.Manifest java.util.List int int
      StackMap stack:
            aload 14 /* manRefs */
            iload 16 /* k */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Reference
            astore 17 /* ref */
        start local 17 // javax.xml.crypto.dsig.Reference ref
        54: .line 307
            aload 17 /* ref */
            aload 1 /* vc */
            invokeinterface javax.xml.crypto.dsig.Reference.validate:(Ljavax/xml/crypto/dsig/XMLValidateContext;)Z
            istore 18 /* refValid */
        start local 18 // boolean refValid
        55: .line 308
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
            invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
            ifeq 59
        56: .line 309
            getstatic org.jcp.xml.dsig.internal.dom.DOMXMLSignature.log:Ljava/util/logging/Logger;
            getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
        57: .line 310
            new java.lang.StringBuilder
            dup
            ldc "Manifest ref["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* ref */
            invokeinterface javax.xml.crypto.dsig.Reference.getURI:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] is valid: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 18 /* refValid */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        58: .line 309
            invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;)V
        59: .line 313
      StackMap locals: javax.xml.crypto.dsig.Reference int
      StackMap stack:
            iload 5 /* validateMans */
            iload 18 /* refValid */
            iand
            istore 5 /* validateMans */
        end local 18 // boolean refValid
        end local 17 // javax.xml.crypto.dsig.Reference ref
        60: .line 305
            iinc 16 /* k */ 1
      StackMap locals:
      StackMap stack:
        61: iload 5 /* validateMans */
            ifeq 62
            iload 16 /* k */
            iload 15 /* rsize */
            if_icmplt 53
        end local 16 // int k
        end local 15 // int rsize
        end local 14 // java.util.List manRefs
        end local 13 // javax.xml.crypto.dsig.Manifest man
        end local 12 // javax.xml.crypto.XMLStructure xs
        62: .line 296
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLValidateContext int java.util.List int int int int javax.xml.crypto.dsig.XMLObject java.util.List int int
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        63: iload 5 /* validateMans */
            ifeq 64
            iload 11 /* j */
            iload 10 /* csize */
            if_icmplt 44
        end local 11 // int j
        end local 10 // int csize
        end local 9 // java.util.List content
        end local 8 // javax.xml.crypto.dsig.XMLObject xo
        64: .line 292
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLValidateContext int java.util.List int int int int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 5 /* validateMans */
            ifeq 66
            iload 6 /* i */
            iload 7 /* size */
            if_icmplt 39
        end local 7 // int size
        end local 6 // int i
        66: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 5 /* validateMans */
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
        67: .line 321
            aload 0 /* this */
            iconst_1
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validated:Z
        68: .line 322
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.validationStatus:Z
            ireturn
        end local 5 // boolean validateMans
        end local 4 // boolean validateRefs
        end local 3 // java.util.List refs
        end local 2 // boolean sigValidity
        end local 1 // javax.xml.crypto.dsig.XMLValidateContext vc
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   69     0          this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   69     1            vc  Ljavax/xml/crypto/dsig/XMLValidateContext;
            9   69     2   sigValidity  Z
           14   69     3          refs  Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
           15   69     4  validateRefs  Z
           16   25     5             i  I
           17   25     6          size  I
           19   23     7           ref  Ljavax/xml/crypto/dsig/Reference;
           20   23     8      refValid  Z
           32   69     5  validateMans  Z
           37   66     6             i  I
           38   66     7          size  I
           40   64     8            xo  Ljavax/xml/crypto/dsig/XMLObject;
           41   64     9       content  Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;
           42   64    10         csize  I
           43   64    11             j  I
           45   62    12            xs  Ljavax/xml/crypto/XMLStructure;
           49   62    13           man  Ljavax/xml/crypto/dsig/Manifest;
           50   62    14       manRefs  Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
           51   62    15         rsize  I
           52   62    16             k  I
           54   60    17           ref  Ljavax/xml/crypto/dsig/Reference;
           55   60    18      refValid  Z
    Exceptions:
      throws javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
      Name  Flags
      vc    

  public void sign(javax.xml.crypto.dsig.XMLSignContext);
    descriptor: (Ljavax/xml/crypto/dsig/XMLSignContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
        start local 1 // javax.xml.crypto.dsig.XMLSignContext signContext
         0: .line 328
            aload 1 /* signContext */
            ifnonnull 2
         1: .line 329
            new java.lang.NullPointerException
            dup
            ldc "signContext cannot be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 331
      StackMap locals:
      StackMap stack:
            aload 1 /* signContext */
            checkcast javax.xml.crypto.dsig.dom.DOMSignContext
            astore 2 /* context */
        start local 2 // javax.xml.crypto.dsig.dom.DOMSignContext context
         3: .line 332
            aload 0 /* this */
            aload 2 /* context */
            invokevirtual javax.xml.crypto.dsig.dom.DOMSignContext.getParent:()Lorg/w3c/dom/Node;
            aload 2 /* context */
            invokevirtual javax.xml.crypto.dsig.dom.DOMSignContext.getNextSibling:()Lorg/w3c/dom/Node;
         4: .line 333
            aload 2 /* context */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getSignaturePrefix:(Ljavax/xml/crypto/XMLCryptoContext;)Ljava/lang/String;
            aload 2 /* context */
         5: .line 332
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature.marshal:(Lorg/w3c/dom/Node;Lorg/w3c/dom/Node;Ljava/lang/String;Ljavax/xml/crypto/dom/DOMCryptoContext;)V
         6: .line 336
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* allReferences */
        start local 3 // java.util.List allReferences
         7: .line 340
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
         8: .line 341
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 342
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokeinterface javax.xml.crypto.dsig.SignedInfo.getId:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 343
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokeinterface javax.xml.crypto.dsig.SignedInfo.getReferences:()Ljava/util/List;
            astore 4 /* refs */
        start local 4 // java.util.List refs
        11: .line 344
            aload 4 /* refs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 14
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Reference
            astore 5 /* ref */
        start local 5 // javax.xml.crypto.dsig.Reference ref
        13: .line 345
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 5 /* ref */
            invokeinterface javax.xml.crypto.dsig.Reference.getId:()Ljava/lang/String;
            aload 5 /* ref */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // javax.xml.crypto.dsig.Reference ref
        14: .line 344
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 347
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 31
      StackMap locals:
      StackMap stack:
        16: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.XMLObject
            astore 5 /* obj */
        start local 5 // javax.xml.crypto.dsig.XMLObject obj
        17: .line 348
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 5 /* obj */
            invokeinterface javax.xml.crypto.dsig.XMLObject.getId:()Ljava/lang/String;
            aload 5 /* obj */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 349
            aload 5 /* obj */
            invokeinterface javax.xml.crypto.dsig.XMLObject.getContent:()Ljava/util/List;
            astore 7 /* content */
        start local 7 // java.util.List content
        19: .line 350
            aload 7 /* content */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 30
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List javax.xml.crypto.dsig.XMLObject java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
        20: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.XMLStructure
            astore 8 /* xs */
        start local 8 // javax.xml.crypto.XMLStructure xs
        21: .line 351
            aload 8 /* xs */
            instanceof javax.xml.crypto.dsig.Manifest
            ifeq 30
        22: .line 352
            aload 8 /* xs */
            checkcast javax.xml.crypto.dsig.Manifest
            astore 10 /* man */
        start local 10 // javax.xml.crypto.dsig.Manifest man
        23: .line 353
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 10 /* man */
            invokeinterface javax.xml.crypto.dsig.Manifest.getId:()Ljava/lang/String;
            aload 10 /* man */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 354
            aload 10 /* man */
            invokeinterface javax.xml.crypto.dsig.Manifest.getReferences:()Ljava/util/List;
            astore 11 /* manRefs */
        start local 11 // java.util.List manRefs
        25: .line 355
            aload 11 /* manRefs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 13
            goto 29
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List javax.xml.crypto.dsig.XMLObject java.util.Iterator java.util.List javax.xml.crypto.XMLStructure java.util.Iterator javax.xml.crypto.dsig.Manifest java.util.List top java.util.Iterator
      StackMap stack:
        26: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Reference
            astore 12 /* ref */
        start local 12 // javax.xml.crypto.dsig.Reference ref
        27: .line 356
            aload 3 /* allReferences */
            aload 12 /* ref */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 357
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 12 /* ref */
            invokeinterface javax.xml.crypto.dsig.Reference.getId:()Ljava/lang/String;
            aload 12 /* ref */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // javax.xml.crypto.dsig.Reference ref
        29: .line 355
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        end local 11 // java.util.List manRefs
        end local 10 // javax.xml.crypto.dsig.Manifest man
        end local 8 // javax.xml.crypto.XMLStructure xs
        30: .line 350
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List javax.xml.crypto.dsig.XMLObject java.util.Iterator java.util.List top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 20
        end local 7 // java.util.List content
        end local 5 // javax.xml.crypto.dsig.XMLObject obj
        31: .line 347
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        32: .line 364
            aload 3 /* allReferences */
            aload 4 /* refs */
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        33: .line 367
            aload 3 /* allReferences */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 36
      StackMap locals:
      StackMap stack:
        34: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Reference
            astore 5 /* ref */
        start local 5 // javax.xml.crypto.dsig.Reference ref
        35: .line 368
            aload 0 /* this */
            aload 5 /* ref */
            checkcast org.jcp.xml.dsig.internal.dom.DOMReference
            aload 1 /* signContext */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference:(Lorg/jcp/xml/dsig/internal/dom/DOMReference;Ljavax/xml/crypto/dsig/XMLSignContext;)V
        end local 5 // javax.xml.crypto.dsig.Reference ref
        36: .line 367
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        37: .line 372
            aload 3 /* allReferences */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 42
      StackMap locals:
      StackMap stack:
        38: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Reference
            astore 5 /* ref */
        start local 5 // javax.xml.crypto.dsig.Reference ref
        39: .line 373
            aload 5 /* ref */
            checkcast org.jcp.xml.dsig.internal.dom.DOMReference
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.isDigested:()Z
            ifeq 41
        40: .line 374
            goto 42
        41: .line 376
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List javax.xml.crypto.dsig.Reference java.util.Iterator
      StackMap stack:
            aload 5 /* ref */
            checkcast org.jcp.xml.dsig.internal.dom.DOMReference
            aload 1 /* signContext */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.digest:(Ljavax/xml/crypto/dsig/XMLSignContext;)V
        end local 5 // javax.xml.crypto.dsig.Reference ref
        42: .line 372
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        43: .line 379
            aconst_null
            astore 5 /* signingKey */
        start local 5 // java.security.Key signingKey
        44: .line 380
            aconst_null
            astore 6 /* ksr */
        start local 6 // javax.xml.crypto.KeySelectorResult ksr
        45: .line 382
            aload 1 /* signContext */
            invokeinterface javax.xml.crypto.dsig.XMLSignContext.getKeySelector:()Ljavax/xml/crypto/KeySelector;
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
        46: .line 383
            getstatic javax.xml.crypto.KeySelector$Purpose.SIGN:Ljavax/xml/crypto/KeySelector$Purpose;
        47: .line 384
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokeinterface javax.xml.crypto.dsig.SignedInfo.getSignatureMethod:()Ljavax/xml/crypto/dsig/SignatureMethod;
        48: .line 385
            aload 1 /* signContext */
        49: .line 382
            invokevirtual javax.xml.crypto.KeySelector.select:(Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;Ljavax/xml/crypto/KeySelector$Purpose;Ljavax/xml/crypto/AlgorithmMethod;Ljavax/xml/crypto/XMLCryptoContext;)Ljavax/xml/crypto/KeySelectorResult;
            astore 6 /* ksr */
        50: .line 386
            aload 6 /* ksr */
            invokeinterface javax.xml.crypto.KeySelectorResult.getKey:()Ljava/security/Key;
            astore 5 /* signingKey */
        51: .line 387
            aload 5 /* signingKey */
            ifnonnull 55
        52: .line 388
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            ldc "the keySelector did not find a signing key"
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 391
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature javax.xml.crypto.dsig.XMLSignContext javax.xml.crypto.dsig.dom.DOMSignContext java.util.List java.util.List java.security.Key javax.xml.crypto.KeySelectorResult
      StackMap stack: javax.xml.crypto.KeySelectorException
            astore 7 /* kse */
        start local 7 // javax.xml.crypto.KeySelectorException kse
        54: .line 392
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            ldc "cannot find signing key"
            aload 7 /* kse */
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // javax.xml.crypto.KeySelectorException kse
        55: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokeinterface javax.xml.crypto.dsig.SignedInfo.getSignatureMethod:()Ljavax/xml/crypto/dsig/SignatureMethod;
        56: .line 397
            checkcast org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod
        57: .line 398
            aload 5 /* signingKey */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            aload 1 /* signContext */
            invokevirtual org.jcp.xml.dsig.internal.dom.AbstractDOMSignatureMethod.sign:(Ljava/security/Key;Ljavax/xml/crypto/dsig/SignedInfo;Ljavax/xml/crypto/dsig/XMLSignContext;)[B
        58: .line 397
            astore 7 /* val */
        start local 7 // byte[] val
        59: .line 399
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            checkcast org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue
            aload 7 /* val */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue.setValue:([B)V
        end local 7 // byte[] val
        60: .line 400
            goto 63
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
        61: astore 7 /* ike */
        start local 7 // java.security.InvalidKeyException ike
        62: .line 401
            new javax.xml.crypto.dsig.XMLSignatureException
            dup
            aload 7 /* ike */
            invokespecial javax.xml.crypto.dsig.XMLSignatureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.security.InvalidKeyException ike
        63: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sigElem:Lorg/w3c/dom/Element;
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.localSigElem:Lorg/w3c/dom/Element;
        64: .line 405
            aload 0 /* this */
            aload 6 /* ksr */
            putfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ksr:Ljavax/xml/crypto/KeySelectorResult;
        65: .line 406
            return
        end local 6 // javax.xml.crypto.KeySelectorResult ksr
        end local 5 // java.security.Key signingKey
        end local 4 // java.util.List refs
        end local 3 // java.util.List allReferences
        end local 2 // javax.xml.crypto.dsig.dom.DOMSignContext context
        end local 1 // javax.xml.crypto.dsig.XMLSignContext signContext
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   66     0           this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   66     1    signContext  Ljavax/xml/crypto/dsig/XMLSignContext;
            3   66     2        context  Ljavax/xml/crypto/dsig/dom/DOMSignContext;
            7   66     3  allReferences  Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
           11   66     4           refs  Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
           13   14     5            ref  Ljavax/xml/crypto/dsig/Reference;
           17   31     5            obj  Ljavax/xml/crypto/dsig/XMLObject;
           19   31     7        content  Ljava/util/List<Ljavax/xml/crypto/XMLStructure;>;
           21   30     8             xs  Ljavax/xml/crypto/XMLStructure;
           23   30    10            man  Ljavax/xml/crypto/dsig/Manifest;
           25   30    11        manRefs  Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
           27   29    12            ref  Ljavax/xml/crypto/dsig/Reference;
           35   36     5            ref  Ljavax/xml/crypto/dsig/Reference;
           39   42     5            ref  Ljavax/xml/crypto/dsig/Reference;
           44   66     5     signingKey  Ljava/security/Key;
           45   66     6            ksr  Ljavax/xml/crypto/KeySelectorResult;
           54   55     7            kse  Ljavax/xml/crypto/KeySelectorException;
           59   60     7            val  [B
           62   63     7            ike  Ljava/security/InvalidKeyException;
      Exception table:
        from    to  target  type
          45    53      53  Class javax.xml.crypto.KeySelectorException
          55    60      61  Class java.security.InvalidKeyException
    Exceptions:
      throws javax.xml.crypto.MarshalException, javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
             Name  Flags
      signContext  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
        start local 1 // java.lang.Object o
         0: .line 410
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 411
            iconst_1
            ireturn
         2: .line 414
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof javax.xml.crypto.dsig.XMLSignature
            ifne 4
         3: .line 415
            iconst_0
            ireturn
         4: .line 417
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast javax.xml.crypto.dsig.XMLSignature
            astore 2 /* osig */
        start local 2 // javax.xml.crypto.dsig.XMLSignature osig
         5: .line 420
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            ifnonnull 7
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getId:()Ljava/lang/String;
            ifnonnull 6
            iconst_1
            goto 8
      StackMap locals: javax.xml.crypto.dsig.XMLSignature
      StackMap stack:
         6: iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getId:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         8: .line 419
      StackMap locals:
      StackMap stack: int
            istore 3 /* idEqual */
        start local 3 // boolean idEqual
         9: .line 422
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            ifnonnull 11
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getKeyInfo:()Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            ifnonnull 10
            iconst_1
            goto 12
      StackMap locals: int
      StackMap stack:
        10: iconst_0
            goto 12
        11: .line 423
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getKeyInfo:()Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        12: .line 421
      StackMap locals:
      StackMap stack: int
            istore 4 /* keyInfoEqual */
        start local 4 // boolean keyInfoEqual
        13: .line 425
            iload 3 /* idEqual */
            ifeq 18
            iload 4 /* keyInfoEqual */
            ifeq 18
        14: .line 426
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getSignatureValue:()Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
        15: .line 427
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getSignedInfo:()Ljavax/xml/crypto/dsig/SignedInfo;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 428
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            aload 2 /* osig */
            invokeinterface javax.xml.crypto.dsig.XMLSignature.getObjects:()Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifeq 18
        17: .line 425
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
        18: iconst_0
            ireturn
        end local 4 // boolean keyInfoEqual
        end local 3 // boolean idEqual
        end local 2 // javax.xml.crypto.dsig.XMLSignature osig
        end local 1 // java.lang.Object o
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   19     1             o  Ljava/lang/Object;
            5   19     2          osig  Ljavax/xml/crypto/dsig/XMLSignature;
            9   19     3       idEqual  Z
           13   19     4  keyInfoEqual  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.DOMXMLSignature this
         0: .line 433
            bipush 17
            istore 1 /* result */
        start local 1 // int result
         1: .line 434
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            ifnull 3
         2: .line 435
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.id:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            iadd
            istore 1 /* result */
         3: .line 437
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            ifnull 5
         4: .line 438
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.ki:Ljavax/xml/crypto/dsig/keyinfo/KeyInfo;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         5: .line 440
      StackMap locals:
      StackMap stack:
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.sv:Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         6: .line 441
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.si:Ljavax/xml/crypto/dsig/SignedInfo;
            invokevirtual java.lang.Object.hashCode:()I
            iadd
            istore 1 /* result */
         7: .line 442
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.objects:Ljava/util/List;
            invokeinterface java.util.List.hashCode:()I
            iadd
            istore 1 /* result */
         8: .line 444
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            1    9     1  result  I

  private void digestReference(org.jcp.xml.dsig.internal.dom.DOMReference, javax.xml.crypto.dsig.XMLSignContext);
    descriptor: (Lorg/jcp/xml/dsig/internal/dom/DOMReference;Ljavax/xml/crypto/dsig/XMLSignContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
        start local 1 // org.jcp.xml.dsig.internal.dom.DOMReference ref
        start local 2 // javax.xml.crypto.dsig.XMLSignContext signContext
         0: .line 450
            aload 1 /* ref */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.isDigested:()Z
            ifeq 2
         1: .line 451
            return
         2: .line 454
      StackMap locals:
      StackMap stack:
            aload 1 /* ref */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.getURI:()Ljava/lang/String;
            astore 3 /* uri */
        start local 3 // java.lang.String uri
         3: .line 455
            aload 3 /* uri */
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.sameDocumentURI:(Ljava/lang/String;)Z
            ifeq 31
         4: .line 456
            aload 3 /* uri */
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.parseIdFromSameDocumentURI:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
         5: .line 457
            aload 4 /* id */
            ifnull 22
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 4 /* id */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 22
         6: .line 458
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.DOMXMLSignature.signatureIdMap:Ljava/util/HashMap;
            aload 4 /* id */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast javax.xml.crypto.XMLStructure
            astore 5 /* xs */
        start local 5 // javax.xml.crypto.XMLStructure xs
         7: .line 459
            aload 5 /* xs */
            instanceof org.jcp.xml.dsig.internal.dom.DOMReference
            ifeq 10
         8: .line 460
            aload 0 /* this */
            aload 5 /* xs */
            checkcast org.jcp.xml.dsig.internal.dom.DOMReference
            aload 2 /* signContext */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference:(Lorg/jcp/xml/dsig/internal/dom/DOMReference;Ljavax/xml/crypto/dsig/XMLSignContext;)V
         9: .line 461
            goto 22
      StackMap locals: java.lang.String java.lang.String javax.xml.crypto.XMLStructure
      StackMap stack:
        10: aload 5 /* xs */
            instanceof javax.xml.crypto.dsig.Manifest
            ifeq 22
        11: .line 462
            aload 5 /* xs */
            checkcast javax.xml.crypto.dsig.Manifest
            astore 6 /* man */
        start local 6 // javax.xml.crypto.dsig.Manifest man
        12: .line 464
            aload 6 /* man */
            invokestatic org.jcp.xml.dsig.internal.dom.DOMManifest.getManifestReferences:(Ljavax/xml/crypto/dsig/Manifest;)Ljava/util/List;
        13: .line 463
            astore 7 /* manRefs */
        start local 7 // java.util.List manRefs
        14: .line 465
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        15: aload 7 /* manRefs */
            invokeinterface java.util.List.size:()I
            istore 9 /* size */
        start local 9 // int size
        16: goto 21
        17: .line 466
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.jcp.xml.dsig.internal.dom.DOMReference javax.xml.crypto.dsig.XMLSignContext java.lang.String java.lang.String javax.xml.crypto.XMLStructure javax.xml.crypto.dsig.Manifest java.util.List int int
      StackMap stack:
            aload 0 /* this */
            aload 7 /* manRefs */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.jcp.xml.dsig.internal.dom.DOMReference
        18: .line 467
            aload 2 /* signContext */
        19: .line 466
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMXMLSignature.digestReference:(Lorg/jcp/xml/dsig/internal/dom/DOMReference;Ljavax/xml/crypto/dsig/XMLSignContext;)V
        20: .line 465
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 8 /* i */
            iload 9 /* size */
            if_icmplt 17
        end local 9 // int size
        end local 8 // int i
        end local 7 // java.util.List manRefs
        end local 6 // javax.xml.crypto.dsig.Manifest man
        end local 5 // javax.xml.crypto.XMLStructure xs
        22: .line 474
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.jcp.xml.dsig.internal.dom.DOMReference javax.xml.crypto.dsig.XMLSignContext java.lang.String java.lang.String
      StackMap stack:
            aload 3 /* uri */
            invokevirtual java.lang.String.length:()I
            ifne 31
        23: .line 475
            aload 1 /* ref */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.getTransforms:()Ljava/util/List;
            astore 5 /* transforms */
        start local 5 // java.util.List transforms
        24: .line 476
            aload 5 /* transforms */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 30
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.jcp.xml.dsig.internal.dom.DOMReference javax.xml.crypto.dsig.XMLSignContext java.lang.String java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
        25: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.crypto.dsig.Transform
            astore 6 /* transform */
        start local 6 // javax.xml.crypto.dsig.Transform transform
        26: .line 477
            aload 6 /* transform */
            invokeinterface javax.xml.crypto.dsig.Transform.getAlgorithm:()Ljava/lang/String;
            astore 8 /* transformAlg */
        start local 8 // java.lang.String transformAlg
        27: .line 478
            aload 8 /* transformAlg */
            ldc "http://www.w3.org/TR/1999/REC-xpath-19991116"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 479
            aload 8 /* transformAlg */
            ldc "http://www.w3.org/2002/06/xmldsig-filter2"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 30
        29: .line 480
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.jcp.xml.dsig.internal.dom.DOMReference javax.xml.crypto.dsig.XMLSignContext java.lang.String java.lang.String java.util.List javax.xml.crypto.dsig.Transform java.util.Iterator java.lang.String
      StackMap stack:
            return
        end local 8 // java.lang.String transformAlg
        end local 6 // javax.xml.crypto.dsig.Transform transform
        30: .line 476
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.jcp.xml.dsig.internal.dom.DOMReference javax.xml.crypto.dsig.XMLSignContext java.lang.String java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        end local 5 // java.util.List transforms
        end local 4 // java.lang.String id
        31: .line 485
      StackMap locals: org.jcp.xml.dsig.internal.dom.DOMXMLSignature org.jcp.xml.dsig.internal.dom.DOMReference javax.xml.crypto.dsig.XMLSignContext java.lang.String
      StackMap stack:
            aload 1 /* ref */
            aload 2 /* signContext */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMReference.digest:(Ljavax/xml/crypto/dsig/XMLSignContext;)V
        32: .line 486
            return
        end local 3 // java.lang.String uri
        end local 2 // javax.xml.crypto.dsig.XMLSignContext signContext
        end local 1 // org.jcp.xml.dsig.internal.dom.DOMReference ref
        end local 0 // org.jcp.xml.dsig.internal.dom.DOMXMLSignature this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   33     0          this  Lorg/jcp/xml/dsig/internal/dom/DOMXMLSignature;
            0   33     1           ref  Lorg/jcp/xml/dsig/internal/dom/DOMReference;
            0   33     2   signContext  Ljavax/xml/crypto/dsig/XMLSignContext;
            3   33     3           uri  Ljava/lang/String;
            5   31     4            id  Ljava/lang/String;
            7   22     5            xs  Ljavax/xml/crypto/XMLStructure;
           12   22     6           man  Ljavax/xml/crypto/dsig/Manifest;
           14   22     7       manRefs  Ljava/util/List<Ljavax/xml/crypto/dsig/Reference;>;
           15   22     8             i  I
           16   22     9          size  I
           24   31     5    transforms  Ljava/util/List<Ljavax/xml/crypto/dsig/Transform;>;
           26   30     6     transform  Ljavax/xml/crypto/dsig/Transform;
           27   30     8  transformAlg  Ljava/lang/String;
    Exceptions:
      throws javax.xml.crypto.dsig.XMLSignatureException
    MethodParameters:
             Name  Flags
      ref          
      signContext  
}
SourceFile: "DOMXMLSignature.java"
NestMembers:
  org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue
InnerClasses:
  public Purpose = javax.xml.crypto.KeySelector$Purpose of javax.xml.crypto.KeySelector
  public abstract SignatureValue = javax.xml.crypto.dsig.XMLSignature$SignatureValue of javax.xml.crypto.dsig.XMLSignature
  public DOMSignatureValue = org.jcp.xml.dsig.internal.dom.DOMXMLSignature$DOMSignatureValue of org.jcp.xml.dsig.internal.dom.DOMXMLSignature