public abstract class org.jcp.xml.dsig.internal.dom.ApacheTransform extends javax.xml.crypto.dsig.TransformService
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.jcp.xml.dsig.internal.dom.ApacheTransform
  super_class: javax.xml.crypto.dsig.TransformService
{
  private static final com.sun.org.slf4j.internal.Logger LOG;
    descriptor: Lcom/sun/org/slf4j/internal/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.sun.org.apache.xml.internal.security.transforms.Transform apacheTransform;
    descriptor: Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
    flags: (0x0002) ACC_PRIVATE

  protected org.w3c.dom.Document ownerDoc;
    descriptor: Lorg/w3c/dom/Document;
    flags: (0x0004) ACC_PROTECTED

  protected org.w3c.dom.Element transformElem;
    descriptor: Lorg/w3c/dom/Element;
    flags: (0x0004) ACC_PROTECTED

  protected javax.xml.crypto.dsig.spec.TransformParameterSpec params;
    descriptor: Ljavax/xml/crypto/dsig/spec/TransformParameterSpec;
    flags: (0x0004) ACC_PROTECTED

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 55
            invokestatic com.sun.org.apache.xml.internal.security.Init.init:()V
         1: .line 59
            ldc Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            invokestatic com.sun.org.slf4j.internal.LoggerFactory.getLogger:(Ljava/lang/Class;)Lcom/sun/org/slf4j/internal/Logger;
         2: .line 58
            putstatic org.jcp.xml.dsig.internal.dom.ApacheTransform.LOG:Lcom/sun/org/slf4j/internal/Logger;
         3: .line 59
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
         0: .line 52
            aload 0 /* this */
            invokespecial javax.xml.crypto.dsig.TransformService.<init>:()V
            return
        end local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;

  public final java.security.spec.AlgorithmParameterSpec getParameterSpec();
    descriptor: ()Ljava/security/spec/AlgorithmParameterSpec;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
         0: .line 67
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.params:Ljavax/xml/crypto/dsig/spec/TransformParameterSpec;
            areturn
        end local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;

  public void init(javax.xml.crypto.XMLStructure, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/XMLStructure;Ljavax/xml/crypto/XMLCryptoContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
        start local 1 // javax.xml.crypto.XMLStructure parent
        start local 2 // javax.xml.crypto.XMLCryptoContext context
         0: .line 73
            aload 2 /* context */
            ifnull 4
            aload 2 /* context */
            instanceof javax.xml.crypto.dom.DOMCryptoContext
            ifne 4
         1: .line 74
            new java.lang.ClassCastException
            dup
         2: .line 75
            ldc "context must be of type DOMCryptoContext"
         3: .line 74
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 77
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            ifnonnull 6
         5: .line 78
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         6: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            instanceof javax.xml.crypto.dom.DOMStructure
            ifne 8
         7: .line 81
            new java.lang.ClassCastException
            dup
            ldc "parent must be of type DOMStructure"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 83
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         9: .line 84
            aload 1 /* parent */
            checkcast javax.xml.crypto.dom.DOMStructure
            invokevirtual javax.xml.crypto.dom.DOMStructure.getNode:()Lorg/w3c/dom/Node;
        10: .line 83
            checkcast org.w3c.dom.Element
            putfield org.jcp.xml.dsig.internal.dom.ApacheTransform.transformElem:Lorg/w3c/dom/Element;
        11: .line 85
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.transformElem:Lorg/w3c/dom/Element;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            putfield org.jcp.xml.dsig.internal.dom.ApacheTransform.ownerDoc:Lorg/w3c/dom/Document;
        12: .line 86
            return
        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.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            0   13     1   parent  Ljavax/xml/crypto/XMLStructure;
            0   13     2  context  Ljavax/xml/crypto/XMLCryptoContext;
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
         Name  Flags
      parent   
      context  

  public void marshalParams(javax.xml.crypto.XMLStructure, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/XMLStructure;Ljavax/xml/crypto/XMLCryptoContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
        start local 1 // javax.xml.crypto.XMLStructure parent
        start local 2 // javax.xml.crypto.XMLCryptoContext context
         0: .line 91
            aload 2 /* context */
            ifnull 4
            aload 2 /* context */
            instanceof javax.xml.crypto.dom.DOMCryptoContext
            ifne 4
         1: .line 92
            new java.lang.ClassCastException
            dup
         2: .line 93
            ldc "context must be of type DOMCryptoContext"
         3: .line 92
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 95
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            ifnonnull 6
         5: .line 96
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         6: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* parent */
            instanceof javax.xml.crypto.dom.DOMStructure
            ifne 8
         7: .line 99
            new java.lang.ClassCastException
            dup
            ldc "parent must be of type DOMStructure"
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
         9: .line 102
            aload 1 /* parent */
            checkcast javax.xml.crypto.dom.DOMStructure
            invokevirtual javax.xml.crypto.dom.DOMStructure.getNode:()Lorg/w3c/dom/Node;
        10: .line 101
            checkcast org.w3c.dom.Element
            putfield org.jcp.xml.dsig.internal.dom.ApacheTransform.transformElem:Lorg/w3c/dom/Element;
        11: .line 103
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.transformElem:Lorg/w3c/dom/Element;
            invokestatic org.jcp.xml.dsig.internal.dom.DOMUtils.getOwnerDocument:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Document;
            putfield org.jcp.xml.dsig.internal.dom.ApacheTransform.ownerDoc:Lorg/w3c/dom/Document;
        12: .line 104
            return
        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.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            0   13     1   parent  Ljavax/xml/crypto/XMLStructure;
            0   13     2  context  Ljavax/xml/crypto/XMLCryptoContext;
    Exceptions:
      throws javax.xml.crypto.MarshalException
    MethodParameters:
         Name  Flags
      parent   
      context  

  public javax.xml.crypto.Data transform(javax.xml.crypto.Data, javax.xml.crypto.XMLCryptoContext);
    descriptor: (Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;)Ljavax/xml/crypto/Data;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
        start local 1 // javax.xml.crypto.Data data
        start local 2 // javax.xml.crypto.XMLCryptoContext xc
         0: .line 109
            aload 1 /* data */
            ifnonnull 2
         1: .line 110
            new java.lang.NullPointerException
            dup
            ldc "data must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 112
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* xc */
            aconst_null
            invokevirtual org.jcp.xml.dsig.internal.dom.ApacheTransform.transformIt:(Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/OutputStream;)Ljavax/xml/crypto/Data;
            areturn
        end local 2 // javax.xml.crypto.XMLCryptoContext xc
        end local 1 // javax.xml.crypto.Data data
        end local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            0    3     1  data  Ljavax/xml/crypto/Data;
            0    3     2    xc  Ljavax/xml/crypto/XMLCryptoContext;
    Exceptions:
      throws javax.xml.crypto.dsig.TransformException
    MethodParameters:
      Name  Flags
      data  
      xc    

  public javax.xml.crypto.Data transform(javax.xml.crypto.Data, javax.xml.crypto.XMLCryptoContext, java.io.OutputStream);
    descriptor: (Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/OutputStream;)Ljavax/xml/crypto/Data;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
        start local 1 // javax.xml.crypto.Data data
        start local 2 // javax.xml.crypto.XMLCryptoContext xc
        start local 3 // java.io.OutputStream os
         0: .line 118
            aload 1 /* data */
            ifnonnull 2
         1: .line 119
            new java.lang.NullPointerException
            dup
            ldc "data must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 121
      StackMap locals:
      StackMap stack:
            aload 3 /* os */
            ifnonnull 4
         3: .line 122
            new java.lang.NullPointerException
            dup
            ldc "output stream must not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* xc */
            aload 3 /* os */
            invokevirtual org.jcp.xml.dsig.internal.dom.ApacheTransform.transformIt:(Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/OutputStream;)Ljavax/xml/crypto/Data;
            areturn
        end local 3 // java.io.OutputStream os
        end local 2 // javax.xml.crypto.XMLCryptoContext xc
        end local 1 // javax.xml.crypto.Data data
        end local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            0    5     1  data  Ljavax/xml/crypto/Data;
            0    5     2    xc  Ljavax/xml/crypto/XMLCryptoContext;
            0    5     3    os  Ljava/io/OutputStream;
    Exceptions:
      throws javax.xml.crypto.dsig.TransformException
    MethodParameters:
      Name  Flags
      data  
      xc    
      os    

  private javax.xml.crypto.Data transformIt(javax.xml.crypto.Data, javax.xml.crypto.XMLCryptoContext, java.io.OutputStream);
    descriptor: (Ljavax/xml/crypto/Data;Ljavax/xml/crypto/XMLCryptoContext;Ljava/io/OutputStream;)Ljavax/xml/crypto/Data;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
        start local 1 // javax.xml.crypto.Data data
        start local 2 // javax.xml.crypto.XMLCryptoContext xc
        start local 3 // java.io.OutputStream os
         0: .line 130
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.ownerDoc:Lorg/w3c/dom/Document;
            ifnonnull 2
         1: .line 131
            new javax.xml.crypto.dsig.TransformException
            dup
            ldc "transform must be marshalled"
            invokespecial javax.xml.crypto.dsig.TransformException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.apacheTransform:Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
            ifnonnull 15
         3: .line 136
            aload 0 /* this */
         4: .line 137
            new com.sun.org.apache.xml.internal.security.transforms.Transform
            dup
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.ownerDoc:Lorg/w3c/dom/Document;
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.ApacheTransform.getAlgorithm:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.transformElem:Lorg/w3c/dom/Element;
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            invokespecial com.sun.org.apache.xml.internal.security.transforms.Transform.<init>:(Lorg/w3c/dom/Document;Ljava/lang/String;Lorg/w3c/dom/NodeList;)V
         5: .line 136
            putfield org.jcp.xml.dsig.internal.dom.ApacheTransform.apacheTransform:Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
         6: .line 138
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.apacheTransform:Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.transformElem:Lorg/w3c/dom/Element;
            aload 2 /* xc */
            invokeinterface javax.xml.crypto.XMLCryptoContext.getBaseURI:()Ljava/lang/String;
            invokevirtual com.sun.org.apache.xml.internal.security.transforms.Transform.setElement:(Lorg/w3c/dom/Element;Ljava/lang/String;)V
         7: .line 139
            aload 2 /* xc */
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
            istore 4 /* secVal */
        start local 4 // boolean secVal
         8: .line 140
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.apacheTransform:Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
            iload 4 /* secVal */
            invokevirtual com.sun.org.apache.xml.internal.security.transforms.Transform.setSecureValidation:(Z)V
         9: .line 141
            getstatic org.jcp.xml.dsig.internal.dom.ApacheTransform.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "Created transform for algorithm: {}"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.ApacheTransform.getAlgorithm:()Ljava/lang/String;
            aastore
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 4 // boolean secVal
        10: .line 142
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Exception
        11: astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        12: .line 143
            new javax.xml.crypto.dsig.TransformException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't find Transform for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 144
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.ApacheTransform.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ex */
        14: .line 143
            invokespecial javax.xml.crypto.dsig.TransformException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception ex
        15: .line 148
      StackMap locals:
      StackMap stack:
            aload 2 /* xc */
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
            ifeq 21
        16: .line 149
            aload 0 /* this */
            invokevirtual org.jcp.xml.dsig.internal.dom.ApacheTransform.getAlgorithm:()Ljava/lang/String;
            astore 4 /* algorithm */
        start local 4 // java.lang.String algorithm
        17: .line 150
            aload 4 /* algorithm */
            invokestatic org.jcp.xml.dsig.internal.dom.Policy.restrictAlg:(Ljava/lang/String;)Z
            ifeq 21
        18: .line 151
            new javax.xml.crypto.dsig.TransformException
            dup
        19: .line 152
            new java.lang.StringBuilder
            dup
            ldc "Transform "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is forbidden when secure validation is enabled"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 151
            invokespecial javax.xml.crypto.dsig.TransformException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String algorithm
        21: .line 158
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            instanceof org.jcp.xml.dsig.internal.dom.ApacheData
            ifeq 25
        22: .line 159
            getstatic org.jcp.xml.dsig.internal.dom.ApacheTransform.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "ApacheData = true"
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
        23: .line 160
            aload 1 /* data */
            checkcast org.jcp.xml.dsig.internal.dom.ApacheData
            invokeinterface org.jcp.xml.dsig.internal.dom.ApacheData.getXMLSignatureInput:()Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
            astore 4 /* in */
        start local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        24: .line 161
            goto 44
        end local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
      StackMap locals:
      StackMap stack:
        25: aload 1 /* data */
            instanceof javax.xml.crypto.NodeSetData
            ifeq 37
        26: .line 162
            getstatic org.jcp.xml.dsig.internal.dom.ApacheTransform.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "isNodeSet() = true"
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
        27: .line 163
            aload 1 /* data */
            instanceof org.jcp.xml.dsig.internal.dom.DOMSubTreeData
            ifeq 33
        28: .line 164
            getstatic org.jcp.xml.dsig.internal.dom.ApacheTransform.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "DOMSubTreeData = true"
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
        29: .line 165
            aload 1 /* data */
            checkcast org.jcp.xml.dsig.internal.dom.DOMSubTreeData
            astore 5 /* subTree */
        start local 5 // org.jcp.xml.dsig.internal.dom.DOMSubTreeData subTree
        30: .line 166
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput
            dup
            aload 5 /* subTree */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSubTreeData.getRoot:()Lorg/w3c/dom/Node;
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.<init>:(Lorg/w3c/dom/Node;)V
            astore 4 /* in */
        start local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        31: .line 167
            aload 4 /* in */
            aload 5 /* subTree */
            invokevirtual org.jcp.xml.dsig.internal.dom.DOMSubTreeData.excludeComments:()Z
            invokevirtual com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.setExcludeComments:(Z)V
        end local 5 // org.jcp.xml.dsig.internal.dom.DOMSubTreeData subTree
        32: .line 168
            goto 44
        end local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        33: .line 171
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            checkcast javax.xml.crypto.NodeSetData
            invokeinterface javax.xml.crypto.NodeSetData.iterator:()Ljava/util/Iterator;
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.toNodeSet:(Ljava/util/Iterator;)Ljava/util/Set;
        34: .line 170
            astore 5 /* nodeSet */
        start local 5 // java.util.Set nodeSet
        35: .line 172
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput
            dup
            aload 5 /* nodeSet */
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.<init>:(Ljava/util/Set;)V
            astore 4 /* in */
        end local 5 // java.util.Set nodeSet
        start local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        36: .line 174
            goto 44
        end local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        37: .line 175
      StackMap locals:
      StackMap stack:
            getstatic org.jcp.xml.dsig.internal.dom.ApacheTransform.LOG:Lcom/sun/org/slf4j/internal/Logger;
            ldc "isNodeSet() = false"
            invokevirtual com.sun.org.slf4j.internal.Logger.debug:(Ljava/lang/String;)V
        38: .line 177
            new com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput
            dup
        39: .line 178
            aload 1 /* data */
            checkcast javax.xml.crypto.OctetStreamData
            invokevirtual javax.xml.crypto.OctetStreamData.getOctetStream:()Ljava/io/InputStream;
        40: .line 177
            invokespecial com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
        start local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        41: .line 179
            goto 44
        end local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
      StackMap locals:
      StackMap stack: java.lang.Exception
        42: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        43: .line 180
            new javax.xml.crypto.dsig.TransformException
            dup
            aload 5 /* ex */
            invokespecial javax.xml.crypto.dsig.TransformException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        44: .line 183
      StackMap locals: com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput
      StackMap stack:
            aload 2 /* xc */
            invokestatic org.jcp.xml.dsig.internal.dom.Utils.secureValidation:(Ljavax/xml/crypto/XMLCryptoContext;)Z
            istore 5 /* secVal */
        start local 5 // boolean secVal
        45: .line 184
            aload 4 /* in */
            iload 5 /* secVal */
            invokevirtual com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.setSecureValidation:(Z)V
        46: .line 187
            aload 3 /* os */
            ifnull 50
        47: .line 188
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.apacheTransform:Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
            aload 4 /* in */
            aload 3 /* os */
            invokevirtual com.sun.org.apache.xml.internal.security.transforms.Transform.performTransform:(Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;Ljava/io/OutputStream;)Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
            astore 4 /* in */
        48: .line 189
            aload 4 /* in */
            invokevirtual com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.isNodeSet:()Z
            ifne 51
            aload 4 /* in */
            invokevirtual com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.isElement:()Z
            ifne 51
        49: .line 190
            aconst_null
            areturn
        50: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jcp.xml.dsig.internal.dom.ApacheTransform.apacheTransform:Lcom/sun/org/apache/xml/internal/security/transforms/Transform;
            aload 4 /* in */
            invokevirtual com.sun.org.apache.xml.internal.security.transforms.Transform.performTransform:(Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;)Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
            astore 4 /* in */
        51: .line 195
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            invokevirtual com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput.isOctetStream:()Z
            ifeq 54
        52: .line 196
            new org.jcp.xml.dsig.internal.dom.ApacheOctetStreamData
            dup
            aload 4 /* in */
            invokespecial org.jcp.xml.dsig.internal.dom.ApacheOctetStreamData.<init>:(Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;)V
        53: areturn
        54: .line 198
      StackMap locals:
      StackMap stack:
            new org.jcp.xml.dsig.internal.dom.ApacheNodeSetData
            dup
            aload 4 /* in */
            invokespecial org.jcp.xml.dsig.internal.dom.ApacheNodeSetData.<init>:(Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;)V
        55: areturn
        56: .line 200
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* ex */
        start local 6 // java.lang.Exception ex
        57: .line 201
            new javax.xml.crypto.dsig.TransformException
            dup
            aload 6 /* ex */
            invokespecial javax.xml.crypto.dsig.TransformException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception ex
        end local 5 // boolean secVal
        end local 4 // com.sun.org.apache.xml.internal.security.signature.XMLSignatureInput in
        end local 3 // java.io.OutputStream os
        end local 2 // javax.xml.crypto.XMLCryptoContext xc
        end local 1 // javax.xml.crypto.Data data
        end local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   58     0       this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            0   58     1       data  Ljavax/xml/crypto/Data;
            0   58     2         xc  Ljavax/xml/crypto/XMLCryptoContext;
            0   58     3         os  Ljava/io/OutputStream;
            8   10     4     secVal  Z
           12   15     4         ex  Ljava/lang/Exception;
           17   21     4  algorithm  Ljava/lang/String;
           24   25     4         in  Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
           31   33     4         in  Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
           36   37     4         in  Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
           41   42     4         in  Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
           44   58     4         in  Lcom/sun/org/apache/xml/internal/security/signature/XMLSignatureInput;
           30   32     5    subTree  Lorg/jcp/xml/dsig/internal/dom/DOMSubTreeData;
           35   36     5    nodeSet  Ljava/util/Set<Lorg/w3c/dom/Node;>;
           43   44     5         ex  Ljava/lang/Exception;
           45   58     5     secVal  Z
           57   58     6         ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    10      11  Class java.lang.Exception
          38    41      42  Class java.lang.Exception
          46    49      56  Class java.lang.Exception
          50    53      56  Class java.lang.Exception
          54    55      56  Class java.lang.Exception
    Exceptions:
      throws javax.xml.crypto.dsig.TransformException
    MethodParameters:
      Name  Flags
      data  
      xc    
      os    

  public final boolean isFeatureSupported(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
        start local 1 // java.lang.String feature
         0: .line 206
            aload 1 /* feature */
            ifnonnull 2
         1: .line 207
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 209
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String feature
        end local 0 // org.jcp.xml.dsig.internal.dom.ApacheTransform this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/jcp/xml/dsig/internal/dom/ApacheTransform;
            0    3     1  feature  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      feature  
}
SourceFile: "ApacheTransform.java"