public class org.glassfish.pfl.tf.tools.enhancer.Transformer implements org.glassfish.pfl.basic.func.UnaryFunction<byte[], byte[]>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.glassfish.pfl.tf.tools.enhancer.Transformer
  super_class: java.lang.Object
{
  private final org.glassfish.pfl.tf.spi.Util util;
    descriptor: Lorg/glassfish/pfl/tf/spi/Util;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode mode;
    descriptor: Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor tip;
    descriptor: Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set<java.lang.String> annotationNames;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private org.glassfish.pfl.tf.spi.EnhancedClassData ecd;
    descriptor: Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
    flags: (0x0002) ACC_PRIVATE

  void <init>(org.glassfish.pfl.tf.spi.Util, org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode, org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor, java.util.Set<java.lang.String>);
    descriptor: (Lorg/glassfish/pfl/tf/spi/Util;Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;Ljava/util/Set;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
        start local 1 // org.glassfish.pfl.tf.spi.Util util
        start local 2 // org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode mode
        start local 3 // org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor tip
        start local 4 // java.util.Set anames
         0: .line 78
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 76
            aload 0 /* this */
            aconst_null
            putfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
         2: .line 81
            aload 0 /* this */
            aload 1 /* util */
            putfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
         3: .line 82
            aload 0 /* this */
            aload 2 /* mode */
            putfield org.glassfish.pfl.tf.tools.enhancer.Transformer.mode:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
         4: .line 83
            aload 0 /* this */
            aload 3 /* tip */
            putfield org.glassfish.pfl.tf.tools.enhancer.Transformer.tip:Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;
         5: .line 84
            aload 0 /* this */
            aload 4 /* anames */
            putfield org.glassfish.pfl.tf.tools.enhancer.Transformer.annotationNames:Ljava/util/Set;
         6: .line 85
            return
        end local 4 // java.util.Set anames
        end local 3 // org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor tip
        end local 2 // org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode mode
        end local 1 // org.glassfish.pfl.tf.spi.Util util
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;
            0    7     1    util  Lorg/glassfish/pfl/tf/spi/Util;
            0    7     2    mode  Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            0    7     3     tip  Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;
            0    7     4  anames  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Lorg/glassfish/pfl/tf/spi/Util;Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      util    
      mode    
      tip     
      anames  

  private boolean hasAccess(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
        start local 1 // int access
        start local 2 // int flag
         0: .line 88
            iload 1 /* access */
            iload 2 /* flag */
            iand
            iload 2 /* flag */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 2 // int flag
        end local 1 // int access
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;
            0    2     1  access  I
            0    2     2    flag  I
    MethodParameters:
        Name  Flags
      access  
      flag    

  private java.lang.String getSuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
        start local 1 // java.lang.String str
         0: .line 92
            aload 1 /* str */
            astore 2 /* result */
        start local 2 // java.lang.String result
         1: .line 93
            aload 1 /* str */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* index */
        start local 3 // int index
         2: .line 94
            iload 3 /* index */
            iflt 4
         3: .line 95
            aload 2 /* result */
            iload 3 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* result */
         4: .line 97
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 3 // int index
        end local 2 // java.lang.String result
        end local 1 // java.lang.String str
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;
            0    5     1     str  Ljava/lang/String;
            1    5     2  result  Ljava/lang/String;
            2    5     3   index  I
    MethodParameters:
      Name  Flags
      str   

  private void processTimers();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=14, args_size=1
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
         0: .line 102
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getDescriptions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
         1: .line 101
            astore 1 /* descriptions */
        start local 1 // java.util.Iterator descriptions
         2: .line 104
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getTimingPointNames:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
         3: .line 103
            astore 2 /* names */
        start local 2 // java.util.Iterator names
         4: .line 106
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getTimingPointTypes:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
         5: .line 105
            astore 3 /* tpts */
        start local 3 // java.util.Iterator tpts
         6: .line 108
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getMethodMMAnnotationName:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
         7: .line 107
            astore 4 /* groups */
        start local 4 // java.util.Iterator groups
         8: .line 111
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getAnnotationToHolderName:()Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
         9: .line 110
            astore 5 /* classAnnoNames */
        start local 5 // java.util.Set classAnnoNames
        10: .line 113
            goto 28
        11: .line 114
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.Transformer java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Set
      StackMap stack:
            aload 1 /* descriptions */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* desc */
        start local 6 // java.lang.String desc
        12: .line 115
            aload 2 /* names */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* name */
        start local 7 // java.lang.String name
        13: .line 116
            aload 3 /* tpts */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.glassfish.pfl.tf.spi.TimingPointType
            astore 8 /* tpt */
        start local 8 // org.glassfish.pfl.tf.spi.TimingPointType tpt
        14: .line 117
            aload 4 /* groups */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* group */
        start local 9 // java.lang.String group
        15: .line 119
            aload 8 /* tpt */
            getstatic org.glassfish.pfl.tf.spi.TimingPointType.NONE:Lorg/glassfish/pfl/tf/spi/TimingPointType;
            if_acmpeq 28
        16: .line 120
            aload 0 /* this */
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.getClassName:()Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.Transformer.getSuffix:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* cname */
        start local 10 // java.lang.String cname
        17: .line 121
            aload 10 /* cname */
        18: .line 122
            aload 7 /* name */
        19: .line 121
            invokestatic org.glassfish.pfl.tf.timer.spi.TimerFactoryBuilder.getTimerName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* timerName */
        start local 11 // java.lang.String timerName
        20: .line 124
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.tip:Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;
            aload 11 /* timerName */
            aload 6 /* desc */
            invokevirtual org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor.addTimer:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 126
            aload 9 /* group */
            ifnonnull 27
        22: .line 127
            aload 5 /* classAnnoNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13
            goto 25
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.Transformer java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Set java.lang.String java.lang.String org.glassfish.pfl.tf.spi.TimingPointType java.lang.String java.lang.String java.lang.String top java.util.Iterator
      StackMap stack:
        23: aload 13
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 12 /* str */
        start local 12 // java.lang.String str
        24: .line 128
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.tip:Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;
            aload 11 /* timerName */
            aload 0 /* this */
            aload 12 /* str */
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.Transformer.getSuffix:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor.containedIn:(Ljava/lang/String;Ljava/lang/String;)V
        end local 12 // java.lang.String str
        25: .line 127
      StackMap locals:
      StackMap stack:
            aload 13
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        26: .line 130
            goto 28
        27: .line 131
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.Transformer java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Set java.lang.String java.lang.String org.glassfish.pfl.tf.spi.TimingPointType java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.tip:Lorg/glassfish/pfl/tf/timer/spi/TimingInfoProcessor;
            aload 11 /* timerName */
            aload 0 /* this */
            aload 9 /* group */
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.Transformer.getSuffix:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.timer.spi.TimingInfoProcessor.containedIn:(Ljava/lang/String;Ljava/lang/String;)V
        end local 11 // java.lang.String timerName
        end local 10 // java.lang.String cname
        end local 9 // java.lang.String group
        end local 8 // org.glassfish.pfl.tf.spi.TimingPointType tpt
        end local 7 // java.lang.String name
        end local 6 // java.lang.String desc
        28: .line 113
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.Transformer java.util.Iterator java.util.Iterator java.util.Iterator java.util.Iterator java.util.Set
      StackMap stack:
            aload 1 /* descriptions */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        29: .line 135
            return
        end local 5 // java.util.Set classAnnoNames
        end local 4 // java.util.Iterator groups
        end local 3 // java.util.Iterator tpts
        end local 2 // java.util.Iterator names
        end local 1 // java.util.Iterator descriptions
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   30     0            this  Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;
            2   30     1    descriptions  Ljava/util/Iterator<Ljava/lang/String;>;
            4   30     2           names  Ljava/util/Iterator<Ljava/lang/String;>;
            6   30     3            tpts  Ljava/util/Iterator<Lorg/glassfish/pfl/tf/spi/TimingPointType;>;
            8   30     4          groups  Ljava/util/Iterator<Ljava/lang/String;>;
           10   30     5  classAnnoNames  Ljava/util/Set<Ljava/lang/String;>;
           12   28     6            desc  Ljava/lang/String;
           13   28     7            name  Ljava/lang/String;
           14   28     8             tpt  Lorg/glassfish/pfl/tf/spi/TimingPointType;
           15   28     9           group  Ljava/lang/String;
           17   28    10           cname  Ljava/lang/String;
           20   28    11       timerName  Ljava/lang/String;
           24   25    12             str  Ljava/lang/String;

  public byte[] evaluate(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
        start local 1 // byte[] arg
         0: .line 138
            new org.glassfish.pfl.objectweb.asm.tree.ClassNode
            dup
            invokespecial org.glassfish.pfl.objectweb.asm.tree.ClassNode.<init>:()V
            astore 2 /* cn */
        start local 2 // org.glassfish.pfl.objectweb.asm.tree.ClassNode cn
         1: .line 139
            new org.glassfish.pfl.objectweb.asm.ClassReader
            dup
            aload 1 /* arg */
            invokespecial org.glassfish.pfl.objectweb.asm.ClassReader.<init>:([B)V
            astore 3 /* cr */
        start local 3 // org.glassfish.pfl.objectweb.asm.ClassReader cr
         2: .line 140
            aload 3 /* cr */
            aload 2 /* cn */
            iconst_4
            invokevirtual org.glassfish.pfl.objectweb.asm.ClassReader.accept:(Lorg/glassfish/pfl/objectweb/asm/ClassVisitor;I)V
         3: .line 143
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 2 /* cn */
            getfield org.glassfish.pfl.objectweb.asm.tree.ClassNode.access:I
            sipush 8192
            invokevirtual org.glassfish.pfl.tf.spi.Util.hasAccess:(II)Z
            ifne 5
         4: .line 144
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 2 /* cn */
            getfield org.glassfish.pfl.objectweb.asm.tree.ClassNode.access:I
            sipush 512
            invokevirtual org.glassfish.pfl.tf.spi.Util.hasAccess:(II)Z
            ifeq 6
         5: .line 145
      StackMap locals: org.glassfish.pfl.objectweb.asm.tree.ClassNode org.glassfish.pfl.objectweb.asm.ClassReader
      StackMap stack:
            aconst_null
            areturn
         6: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.glassfish.pfl.tf.spi.EnhancedClassDataASMImpl
            dup
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.annotationNames:Ljava/util/Set;
            aload 2 /* cn */
            invokespecial org.glassfish.pfl.tf.spi.EnhancedClassDataASMImpl.<init>:(Lorg/glassfish/pfl/tf/spi/Util;Ljava/util/Set;Lorg/glassfish/pfl/objectweb/asm/tree/ClassNode;)V
            putfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
         7: .line 152
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.ecd:Lorg/glassfish/pfl/tf/spi/EnhancedClassData;
            invokeinterface org.glassfish.pfl.tf.spi.EnhancedClassData.isTracedClass:()Z
            ifne 9
         8: .line 153
            aconst_null
            areturn
         9: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.Transformer.processTimers:()V
        10: .line 158
            aconst_null
            astore 4 /* phase1 */
        start local 4 // byte[] phase1
        11: .line 159
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.mode:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            getstatic org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode.UpdateSchemas:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            if_acmpeq 13
        12: .line 160
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.mode:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            getstatic org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode.TraceEnhance:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            if_acmpne 16
        13: .line 161
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            iconst_0
            aload 1 /* arg */
        14: .line 162
            new org.glassfish.pfl.tf.tools.enhancer.Transformer$1
            dup
            aload 0 /* this */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.Transformer$1.<init>:(Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;)V
        15: .line 161
            invokevirtual org.glassfish.pfl.tf.spi.Util.transform:(Z[BLorg/glassfish/pfl/basic/func/UnaryFunction;)[B
            astore 4 /* phase1 */
        16: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.mode:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            getstatic org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode.TraceEnhance:Lorg/glassfish/pfl/tf/tools/enhancer/EnhanceTool$ProcessingMode;
            if_acmpne 22
        17: .line 185
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            aload 4 /* phase1 */
        18: .line 186
            new org.glassfish.pfl.tf.tools.enhancer.Transformer$2
            dup
            aload 0 /* this */
            invokespecial org.glassfish.pfl.tf.tools.enhancer.Transformer$2.<init>:(Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;)V
        19: .line 185
            invokevirtual org.glassfish.pfl.tf.spi.Util.transform:(Z[BLorg/glassfish/pfl/basic/func/UnaryFunction;)[B
            astore 5 /* phase2 */
        start local 5 // byte[] phase2
        20: .line 193
            aload 5 /* phase2 */
        21: areturn
        end local 5 // byte[] phase2
        22: .line 195
      StackMap locals:
      StackMap stack:
            aload 4 /* phase1 */
        23: areturn
        end local 4 // byte[] phase1
        24: .line 197
      StackMap locals: org.glassfish.pfl.tf.tools.enhancer.Transformer byte[] org.glassfish.pfl.objectweb.asm.tree.ClassNode org.glassfish.pfl.objectweb.asm.ClassReader
      StackMap stack: org.glassfish.pfl.tf.spi.TraceEnhancementException
            astore 4 /* exc */
        start local 4 // org.glassfish.pfl.tf.spi.TraceEnhancementException exc
        25: .line 198
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            invokevirtual org.glassfish.pfl.tf.spi.Util.getDebug:()Z
            ifeq 27
        26: .line 199
            aload 0 /* this */
            getfield org.glassfish.pfl.tf.tools.enhancer.Transformer.util:Lorg/glassfish/pfl/tf/spi/Util;
            iconst_1
            new java.lang.StringBuilder
            dup
            ldc "Could not enhance file: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* exc */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.glassfish.pfl.tf.spi.Util.info:(ILjava/lang/String;)V
        27: .line 202
      StackMap locals: org.glassfish.pfl.tf.spi.TraceEnhancementException
      StackMap stack:
            aconst_null
            areturn
        end local 4 // org.glassfish.pfl.tf.spi.TraceEnhancementException exc
        end local 3 // org.glassfish.pfl.objectweb.asm.ClassReader cr
        end local 2 // org.glassfish.pfl.objectweb.asm.tree.ClassNode cn
        end local 1 // byte[] arg
        end local 0 // org.glassfish.pfl.tf.tools.enhancer.Transformer this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   28     0    this  Lorg/glassfish/pfl/tf/tools/enhancer/Transformer;
            0   28     1     arg  [B
            1   28     2      cn  Lorg/glassfish/pfl/objectweb/asm/tree/ClassNode;
            2   28     3      cr  Lorg/glassfish/pfl/objectweb/asm/ClassReader;
           11   24     4  phase1  [B
           20   22     5  phase2  [B
           25   28     4     exc  Lorg/glassfish/pfl/tf/spi/TraceEnhancementException;
      Exception table:
        from    to  target  type
           6     8      24  Class org.glassfish.pfl.tf.spi.TraceEnhancementException
           9    21      24  Class org.glassfish.pfl.tf.spi.TraceEnhancementException
          22    23      24  Class org.glassfish.pfl.tf.spi.TraceEnhancementException
    MethodParameters:
      Name  Flags
      arg   final

  public java.lang.Object evaluate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast byte[]
            invokevirtual org.glassfish.pfl.tf.tools.enhancer.Transformer.evaluate:([B)[B
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/glassfish/pfl/basic/func/UnaryFunction<[B[B>;
SourceFile: "Transformer.java"
NestMembers:
  org.glassfish.pfl.tf.tools.enhancer.Transformer$1  org.glassfish.pfl.tf.tools.enhancer.Transformer$2
InnerClasses:
  public final ProcessingMode = org.glassfish.pfl.tf.tools.enhancer.EnhanceTool$ProcessingMode of org.glassfish.pfl.tf.tools.enhancer.EnhanceTool
  org.glassfish.pfl.tf.tools.enhancer.Transformer$1
  org.glassfish.pfl.tf.tools.enhancer.Transformer$2