public class net.sourceforge.cobertura.coveragedata.ClassData extends net.sourceforge.cobertura.coveragedata.CoverageDataContainer implements java.lang.Comparable<net.sourceforge.cobertura.coveragedata.ClassData>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: net.sourceforge.cobertura.coveragedata.ClassData
  super_class: net.sourceforge.cobertura.coveragedata.CoverageDataContainer
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private java.util.Map<java.lang.Integer, net.sourceforge.cobertura.coveragedata.LineData> branches;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Integer;Lnet/sourceforge/cobertura/coveragedata/LineData;>;

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

  private java.util.Set<java.lang.String> methodNamesAndDescriptors;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

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

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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 58
            aload 0 /* this */
            invokespecial net.sourceforge.cobertura.coveragedata.CoverageDataContainer.<init>:()V
         1: .line 48
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
         2: .line 50
            aload 0 /* this */
            iconst_0
            putfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
         3: .line 52
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
         4: .line 54
            aload 0 /* this */
            aconst_null
            putfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
         5: .line 56
            aload 0 /* this */
            aconst_null
            putfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
         6: .line 59
            return
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // java.lang.String name
         0: .line 64
            aload 0 /* this */
            invokespecial net.sourceforge.cobertura.coveragedata.CoverageDataContainer.<init>:()V
         1: .line 48
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
         2: .line 50
            aload 0 /* this */
            iconst_0
            putfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
         3: .line 52
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
         4: .line 54
            aload 0 /* this */
            aconst_null
            putfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
         5: .line 56
            aload 0 /* this */
            aconst_null
            putfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
         6: .line 65
            aload 1 /* name */
            ifnonnull 8
         7: .line 66
            new java.lang.IllegalArgumentException
            dup
            ldc "Class name must be specified."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 67
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            putfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
         9: .line 68
            return
        end local 1 // java.lang.String name
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   10     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public net.sourceforge.cobertura.coveragedata.LineData addLine(int, java.lang.String, java.lang.String);
    descriptor: (ILjava/lang/String;Ljava/lang/String;)Lnet/sourceforge/cobertura/coveragedata/LineData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String methodDescriptor
         0: .line 72
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 74
            aload 0 /* this */
            iload 1 /* lineNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getLineData:(I)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 4 /* lineData */
        start local 4 // net.sourceforge.cobertura.coveragedata.LineData lineData
         2: .line 75
            aload 4 /* lineData */
            ifnonnull 5
         3: .line 76
            new net.sourceforge.cobertura.coveragedata.LineData
            dup
            iload 1 /* lineNumber */
            invokespecial net.sourceforge.cobertura.coveragedata.LineData.<init>:(I)V
            astore 4 /* lineData */
         4: .line 79
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            new java.lang.Integer
            dup
            iload 1 /* lineNumber */
            invokespecial java.lang.Integer.<init>:(I)V
            aload 4 /* lineData */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 81
      StackMap locals: net.sourceforge.cobertura.coveragedata.LineData
      StackMap stack:
            aload 4 /* lineData */
            aload 2 /* methodName */
            aload 3 /* methodDescriptor */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.setMethodNameAndDescriptor:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 85
            aload 2 /* methodName */
            ifnull 8
            aload 3 /* methodDescriptor */
            ifnull 8
         7: .line 86
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
            new java.lang.StringBuilder
            dup
            aload 2 /* methodName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* methodDescriptor */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         8: .line 87
      StackMap locals:
      StackMap stack:
            aload 4 /* lineData */
            astore 6
         9: .line 89
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 87
            aload 6
            areturn
        end local 4 // net.sourceforge.cobertura.coveragedata.LineData lineData
        11: .line 88
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int java.lang.String java.lang.String
      StackMap stack: java.lang.Throwable
            astore 5
        12: .line 89
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 90
            aload 5
            athrow
        end local 3 // java.lang.String methodDescriptor
        end local 2 // java.lang.String methodName
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   14     1        lineNumber  I
            0   14     2        methodName  Ljava/lang/String;
            0   14     3  methodDescriptor  Ljava/lang/String;
            2   11     4          lineData  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           1     9      11  any
    MethodParameters:
                  Name  Flags
      lineNumber        
      methodName        
      methodDescriptor  

  public int compareTo(net.sourceforge.cobertura.coveragedata.ClassData);
    descriptor: (Lnet/sourceforge/cobertura/coveragedata/ClassData;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // net.sourceforge.cobertura.coveragedata.ClassData o
         0: .line 97
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            ldc Lnet/sourceforge/cobertura/coveragedata/ClassData;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 98
            ldc 2147483647
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            aload 1 /* o */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 1 // net.sourceforge.cobertura.coveragedata.ClassData o
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0    3     1     o  Lnet/sourceforge/cobertura/coveragedata/ClassData;
    MethodParameters:
      Name  Flags
      o     

  public boolean containsInstrumentationInfo();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 103
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 105
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
            istore 2
         2: .line 107
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 105
            iload 2
            ireturn
         4: .line 106
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         5: .line 107
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 108
            aload 1
            athrow
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
      Exception table:
        from    to  target  type
           1     2       4  any

  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 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // java.lang.Object obj
         0: .line 117
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 118
            iconst_1
            ireturn
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnull 3
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 120
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 122
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast net.sourceforge.cobertura.coveragedata.ClassData
            astore 2 /* classData */
        start local 2 // net.sourceforge.cobertura.coveragedata.ClassData classData
         5: .line 123
            aload 0 /* this */
            aload 2 /* classData */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getBothLocks:(Lnet/sourceforge/cobertura/coveragedata/CoverageDataContainer;)V
         6: .line 125
            aload 0 /* this */
            aload 1 /* obj */
            invokespecial net.sourceforge.cobertura.coveragedata.CoverageDataContainer.equals:(Ljava/lang/Object;)Z
            ifeq 12
         7: .line 126
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            invokeinterface java.util.Map.equals:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 127
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
         9: .line 128
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 129
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 130
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
            iconst_1
            goto 13
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 4
        14: .line 132
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        15: .line 133
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 125
            iload 4
            ireturn
        17: .line 131
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
        18: .line 132
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        19: .line 133
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        20: .line 134
            aload 3
            athrow
        end local 2 // net.sourceforge.cobertura.coveragedata.ClassData classData
        end local 1 // java.lang.Object obj
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   21     1        obj  Ljava/lang/Object;
            5   21     2  classData  Lnet/sourceforge/cobertura/coveragedata/ClassData;
      Exception table:
        from    to  target  type
           6    14      17  any
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.String getBaseName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 138
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* lastDot */
        start local 1 // int lastDot
         1: .line 139
            iload 1 /* lastDot */
            iconst_m1
            if_icmpne 3
         2: .line 140
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            areturn
         3: .line 142
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            iload 1 /* lastDot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 1 // int lastDot
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            1    4     1  lastDot  I

  public double getBranchCoverageRate(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // java.lang.String methodNameAndDescriptor
         0: .line 149
            iconst_0
            istore 2 /* total */
        start local 2 // int total
         1: .line 150
            iconst_0
            istore 3 /* covered */
        start local 3 // int covered
         2: .line 152
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         3: .line 154
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4 /* iter */
        start local 4 // java.util.Iterator iter
         4: goto 12
         5: .line 156
      StackMap locals: int int java.util.Iterator
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
            astore 5 /* next */
        start local 5 // net.sourceforge.cobertura.coveragedata.LineData next
         6: .line 157
            aload 1 /* methodNameAndDescriptor */
            new java.lang.StringBuilder
            dup
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getMethodName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 158
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getMethodDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 157
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         9: .line 158
            ifeq 12
        10: .line 159
            iload 2 /* total */
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getNumberOfValidBranches:()I
            iadd
            istore 2 /* total */
        11: .line 160
            iload 3 /* covered */
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getNumberOfCoveredBranches:()I
            iadd
            istore 3 /* covered */
        end local 5 // net.sourceforge.cobertura.coveragedata.LineData next
        12: .line 154
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
        13: .line 155
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Iterator iter
        14: .line 163
            iload 2 /* total */
            ifne 17
        15: .line 167
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 164
            dconst_1
            dreturn
        17: .line 165
      StackMap locals:
      StackMap stack:
            iload 3 /* covered */
            i2d
            iload 2 /* total */
            i2d
            ddiv
            dstore 7
        18: .line 167
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        19: .line 165
            dload 7
            dreturn
        20: .line 166
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        21: .line 167
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        22: .line 168
            aload 6
            athrow
        end local 3 // int covered
        end local 2 // int total
        end local 1 // java.lang.String methodNameAndDescriptor
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   23     0                     this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   23     1  methodNameAndDescriptor  Ljava/lang/String;
            1   23     2                    total  I
            2   23     3                  covered  I
            4   14     4                     iter  Ljava/util/Iterator<Lnet/sourceforge/cobertura/coveragedata/LineData;>;
            6   12     5                     next  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           3    15      20  any
          17    18      20  any
    MethodParameters:
                         Name  Flags
      methodNameAndDescriptor  

  public java.util.Collection<java.lang.Integer> getBranches();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 172
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 174
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableCollection:(Ljava/util/Collection;)Ljava/util/Collection;
            astore 2
         2: .line 176
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 174
            aload 2
            areturn
         4: .line 175
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         5: .line 176
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 177
            aload 1
            athrow
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
      Exception table:
        from    to  target  type
           1     2       4  any
    Signature: ()Ljava/util/Collection<Ljava/lang/Integer;>;

  public net.sourceforge.cobertura.coveragedata.LineData getLineCoverage(int);
    descriptor: (I)Lnet/sourceforge/cobertura/coveragedata/LineData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
         0: .line 186
            new java.lang.Integer
            dup
            iload 1 /* lineNumber */
            invokespecial java.lang.Integer.<init>:(I)V
            astore 2 /* lineObject */
        start local 2 // java.lang.Integer lineObject
         1: .line 187
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 189
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            aload 2 /* lineObject */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 5
         3: .line 195
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         4: .line 190
            aconst_null
            areturn
         5: .line 193
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            aload 2 /* lineObject */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
            astore 4
         6: .line 195
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 193
            aload 4
            areturn
         8: .line 194
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3
         9: .line 195
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 196
            aload 3
            athrow
        end local 2 // java.lang.Integer lineObject
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   11     1  lineNumber  I
            1   11     2  lineObject  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           2     3       8  any
           5     6       8  any
    MethodParameters:
            Name  Flags
      lineNumber  

  public double getLineCoverageRate(java.lang.String);
    descriptor: (Ljava/lang/String;)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // java.lang.String methodNameAndDescriptor
         0: .line 203
            iconst_0
            istore 2 /* total */
        start local 2 // int total
         1: .line 204
            iconst_0
            istore 3 /* hits */
        start local 3 // int hits
         2: .line 206
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         3: .line 208
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4 /* iter */
        start local 4 // java.util.Iterator iter
         4: .line 209
            goto 13
         5: .line 210
      StackMap locals: int int java.util.Iterator
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
            astore 5 /* next */
        start local 5 // net.sourceforge.cobertura.coveragedata.LineData next
         6: .line 211
            aload 1 /* methodNameAndDescriptor */
            new java.lang.StringBuilder
            dup
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getMethodName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 212
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getMethodDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 211
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         9: .line 212
            ifeq 13
        10: .line 213
            iinc 2 /* total */ 1
        11: .line 214
            aload 5 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getHits:()J
            lconst_0
            lcmp
            ifle 13
        12: .line 215
            iinc 3 /* hits */ 1
        end local 5 // net.sourceforge.cobertura.coveragedata.LineData next
        13: .line 209
      StackMap locals:
      StackMap stack:
            aload 4 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        14: .line 219
            iload 2 /* total */
            ifne 17
        15: .line 223
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 220
            dconst_1
            dreturn
        17: .line 221
      StackMap locals:
      StackMap stack:
            iload 3 /* hits */
            i2d
            iload 2 /* total */
            i2d
            ddiv
            dstore 7
        18: .line 223
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        19: .line 221
            dload 7
            dreturn
        end local 4 // java.util.Iterator iter
        20: .line 222
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData java.lang.String int int
      StackMap stack: java.lang.Throwable
            astore 6
        21: .line 223
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        22: .line 224
            aload 6
            athrow
        end local 3 // int hits
        end local 2 // int total
        end local 1 // java.lang.String methodNameAndDescriptor
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   23     0                     this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   23     1  methodNameAndDescriptor  Ljava/lang/String;
            1   23     2                    total  I
            2   23     3                     hits  I
            4   20     4                     iter  Ljava/util/Iterator<Lnet/sourceforge/cobertura/coveragedata/CoverageData;>;
            6   13     5                     next  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           3    15      20  any
          17    18      20  any
    MethodParameters:
                         Name  Flags
      methodNameAndDescriptor  

  public net.sourceforge.cobertura.coveragedata.LineData getLineData(int);
    descriptor: (I)Lnet/sourceforge/cobertura/coveragedata/LineData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
         0: .line 228
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 230
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            iload 1 /* lineNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
            astore 3
         2: .line 232
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 230
            aload 3
            areturn
         4: .line 231
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 232
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 233
            aload 2
            athrow
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0    7     1  lineNumber  I
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
            Name  Flags
      lineNumber  

  public java.util.SortedSet<net.sourceforge.cobertura.coveragedata.CoverageData> getLines();
    descriptor: ()Ljava/util/SortedSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 237
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 239
            new java.util.TreeSet
            dup
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Collection;)V
            astore 2
         2: .line 241
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 239
            aload 2
            areturn
         4: .line 240
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         5: .line 241
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 242
            aload 1
            athrow
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
      Exception table:
        from    to  target  type
           1     2       4  any
    Signature: ()Ljava/util/SortedSet<Lnet/sourceforge/cobertura/coveragedata/CoverageData;>;

  public java.util.Collection<net.sourceforge.cobertura.coveragedata.CoverageData> getLines(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // java.lang.String methodNameAndDescriptor
         0: .line 246
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* lines */
        start local 2 // java.util.Collection lines
         1: .line 247
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 249
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: .line 250
            goto 10
         4: .line 251
      StackMap locals: java.util.Collection java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
            astore 4 /* next */
        start local 4 // net.sourceforge.cobertura.coveragedata.LineData next
         5: .line 252
            aload 1 /* methodNameAndDescriptor */
            new java.lang.StringBuilder
            dup
            aload 4 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getMethodName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 253
            aload 4 /* next */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getMethodDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 252
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         8: .line 253
            ifeq 10
         9: .line 254
            aload 2 /* lines */
            aload 4 /* next */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // net.sourceforge.cobertura.coveragedata.LineData next
        10: .line 250
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        11: .line 257
            aload 2 /* lines */
            astore 6
        12: .line 259
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 257
            aload 6
            areturn
        end local 3 // java.util.Iterator iter
        14: .line 258
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData java.lang.String java.util.Collection
      StackMap stack: java.lang.Throwable
            astore 5
        15: .line 259
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 260
            aload 5
            athrow
        end local 2 // java.util.Collection lines
        end local 1 // java.lang.String methodNameAndDescriptor
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   17     0                     this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   17     1  methodNameAndDescriptor  Ljava/lang/String;
            1   17     2                    lines  Ljava/util/Collection<Lnet/sourceforge/cobertura/coveragedata/CoverageData;>;
            3   14     3                     iter  Ljava/util/Iterator<Lnet/sourceforge/cobertura/coveragedata/CoverageData;>;
            5   10     4                     next  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           2    12      14  any
    Signature: (Ljava/lang/String;)Ljava/util/Collection<Lnet/sourceforge/cobertura/coveragedata/CoverageData;>;
    MethodParameters:
                         Name  Flags
      methodNameAndDescriptor  

  public java.util.Set<java.lang.String> getMethodNamesAndDescriptors();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 268
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 270
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
            astore 2
         2: .line 272
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 270
            aload 2
            areturn
         4: .line 271
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1
         5: .line 272
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 273
            aload 1
            athrow
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
      Exception table:
        from    to  target  type
           1     2       4  any
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 277
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            areturn
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;

  public int getNumberOfValidBranches();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 284
            iconst_0
            istore 1 /* number */
        start local 1 // int number
         1: .line 285
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 287
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: goto 6
         4: .line 288
      StackMap locals: int java.util.Iterator
      StackMap stack:
            iload 1 /* number */
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
         5: .line 289
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getNumberOfValidBranches:()I
            iadd
            istore 1 /* number */
         6: .line 287
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
         7: .line 288
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator i
         8: .line 290
            iload 1 /* number */
            istore 4
         9: .line 292
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 290
            iload 4
            ireturn
        11: .line 291
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int
      StackMap stack: java.lang.Throwable
            astore 3
        12: .line 292
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 293
            aload 3
            athrow
        end local 1 // int number
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            1   14     1  number  I
            3    8     2       i  Ljava/util/Iterator<Lnet/sourceforge/cobertura/coveragedata/LineData;>;
      Exception table:
        from    to  target  type
           2     9      11  any

  public int getNumberOfCoveredBranches();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 300
            iconst_0
            istore 1 /* number */
        start local 1 // int number
         1: .line 301
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 303
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* i */
        start local 2 // java.util.Iterator i
         3: goto 6
         4: .line 304
      StackMap locals: int java.util.Iterator
      StackMap stack:
            iload 1 /* number */
            aload 2 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
         5: .line 305
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.getNumberOfCoveredBranches:()I
            iadd
            istore 1 /* number */
         6: .line 303
      StackMap locals:
      StackMap stack:
            aload 2 /* i */
         7: .line 304
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 2 // java.util.Iterator i
         8: .line 306
            iload 1 /* number */
            istore 4
         9: .line 308
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 306
            iload 4
            ireturn
        11: .line 307
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int
      StackMap stack: java.lang.Throwable
            astore 3
        12: .line 308
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 309
            aload 3
            athrow
        end local 1 // int number
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            1   14     1  number  I
            3    8     2       i  Ljava/util/Iterator<Lnet/sourceforge/cobertura/coveragedata/LineData;>;
      Exception table:
        from    to  target  type
           2     9      11  any

  public java.lang.String getPackageName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 313
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* lastDot */
        start local 1 // int lastDot
         1: .line 314
            iload 1 /* lastDot */
            iconst_m1
            if_icmpne 3
         2: .line 315
            ldc ""
            areturn
         3: .line 317
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            iconst_0
            iload 1 /* lastDot */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // int lastDot
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            1    4     1  lastDot  I

  public java.lang.String getSourceFileName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 331
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 333
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
            ifnull 4
         2: .line 334
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
            astore 1 /* baseName */
        start local 1 // java.lang.String baseName
         3: goto 9
        end local 1 // java.lang.String baseName
         4: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getBaseName:()Ljava/lang/String;
            astore 1 /* baseName */
        start local 1 // java.lang.String baseName
         5: .line 337
            aload 1 /* baseName */
            bipush 36
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* firstDollarSign */
        start local 2 // int firstDollarSign
         6: .line 338
            iload 2 /* firstDollarSign */
            iconst_m1
            if_icmpeq 7
            iload 2 /* firstDollarSign */
            ifne 8
         7: .line 339
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* baseName */
            goto 9
         8: .line 341
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* baseName */
            iconst_0
            iload 2 /* firstDollarSign */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".java"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* baseName */
        end local 2 // int firstDollarSign
         9: .line 344
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getPackageName:()Ljava/lang/String;
            astore 2 /* packageName */
        start local 2 // java.lang.String packageName
        10: .line 345
            aload 2 /* packageName */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 346
            aload 1 /* baseName */
            astore 4
        12: .line 349
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        13: .line 346
            aload 4
            areturn
        14: .line 347
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* packageName */
            bipush 46
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* baseName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4
        15: .line 349
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        16: .line 347
            aload 4
            areturn
        end local 2 // java.lang.String packageName
        end local 1 // java.lang.String baseName
        17: .line 348
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData
      StackMap stack: java.lang.Throwable
            astore 3
        18: .line 349
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        19: .line 350
            aload 3
            athrow
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            3    4     1         baseName  Ljava/lang/String;
            5   17     1         baseName  Ljava/lang/String;
            6    9     2  firstDollarSign  I
           10   17     2      packageName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1    12      17  any
          14    15      17  any

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 354
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.name:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;

  public boolean hasBranch(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
         0: .line 361
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 363
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            iload 1 /* lineNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 3
         2: .line 365
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 363
            iload 3
            ireturn
         4: .line 364
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 365
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 366
            aload 2
            athrow
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0    7     1  lineNumber  I
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
            Name  Flags
      lineNumber  

  public boolean isValidSourceLineNumber(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
         0: .line 376
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 378
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            iload 1 /* lineNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            istore 3
         2: .line 380
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         3: .line 378
            iload 3
            ireturn
         4: .line 379
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 380
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         6: .line 381
            aload 2
            athrow
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0    7     1  lineNumber  I
      Exception table:
        from    to  target  type
           1     2       4  any
    MethodParameters:
            Name  Flags
      lineNumber  

  public void addLineJump(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
        start local 2 // int branchNumber
         0: .line 385
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 387
            aload 0 /* this */
            iload 1 /* lineNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getLineData:(I)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 3 /* lineData */
        start local 3 // net.sourceforge.cobertura.coveragedata.LineData lineData
         2: .line 388
            aload 3 /* lineData */
            ifnull 9
         3: .line 389
            aload 3 /* lineData */
            iload 2 /* branchNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.addJump:(I)V
         4: .line 390
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            iload 1 /* lineNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 3 /* lineData */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // net.sourceforge.cobertura.coveragedata.LineData lineData
         5: .line 392
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 393
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 394
            aload 4
            athrow
         9: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 395
            return
        end local 2 // int branchNumber
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   11     1    lineNumber  I
            0   11     2  branchNumber  I
            2    5     3      lineData  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           1     6       6  any
    MethodParameters:
              Name  Flags
      lineNumber    
      branchNumber  

  public void addLineSwitch(int, int, int, int, int);
    descriptor: (IIIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
        start local 2 // int switchNumber
        start local 3 // int min
        start local 4 // int max
        start local 5 // int maxBranches
         0: .line 399
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 401
            aload 0 /* this */
            iload 1 /* lineNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getLineData:(I)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 6 /* lineData */
        start local 6 // net.sourceforge.cobertura.coveragedata.LineData lineData
         2: .line 402
            aload 6 /* lineData */
            ifnull 9
         3: .line 403
            aload 6 /* lineData */
            iload 2 /* switchNumber */
            iload 3 /* min */
            iload 4 /* max */
            iload 5 /* maxBranches */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.addSwitch:(IIII)V
         4: .line 404
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            iload 1 /* lineNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 6 /* lineData */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // net.sourceforge.cobertura.coveragedata.LineData lineData
         5: .line 406
            goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 7
         7: .line 407
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 408
            aload 7
            athrow
         9: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 409
            return
        end local 5 // int maxBranches
        end local 4 // int max
        end local 3 // int min
        end local 2 // int switchNumber
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   11     1    lineNumber  I
            0   11     2  switchNumber  I
            0   11     3           min  I
            0   11     4           max  I
            0   11     5   maxBranches  I
            2    5     6      lineData  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           1     6       6  any
    MethodParameters:
              Name  Flags
      lineNumber    
      switchNumber  
      min           
      max           
      maxBranches   

  public void merge(net.sourceforge.cobertura.coveragedata.CoverageData);
    descriptor: (Lnet/sourceforge/cobertura/coveragedata/CoverageData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // net.sourceforge.cobertura.coveragedata.CoverageData coverageData
         0: .line 417
            aload 1 /* coverageData */
            checkcast net.sourceforge.cobertura.coveragedata.ClassData
            astore 2 /* classData */
        start local 2 // net.sourceforge.cobertura.coveragedata.ClassData classData
         1: .line 420
            aload 0 /* this */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getName:()Ljava/lang/String;
            aload 2 /* classData */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 421
            return
         3: .line 423
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData
      StackMap stack:
            aload 0 /* this */
            aload 2 /* classData */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getBothLocks:(Lnet/sourceforge/cobertura/coveragedata/CoverageDataContainer;)V
         4: .line 425
            aload 0 /* this */
            aload 1 /* coverageData */
            invokespecial net.sourceforge.cobertura.coveragedata.CoverageDataContainer.merge:(Lnet/sourceforge/cobertura/coveragedata/CoverageData;)V
         5: .line 435
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
         6: .line 436
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
         7: .line 435
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         8: .line 436
            goto 12
         9: .line 437
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 4 /* key */
        start local 4 // java.lang.Integer key
        10: .line 438
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            aload 4 /* key */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 439
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            aload 4 /* key */
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            aload 4 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast net.sourceforge.cobertura.coveragedata.LineData
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.Integer key
        12: .line 436
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 3 // java.util.Iterator iter
        13: .line 443
            aload 0 /* this */
            dup
            getfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
            ior
            putfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
        14: .line 444
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.methodNamesAndDescriptors:Ljava/util/Set;
            aload 2 /* classData */
        15: .line 445
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getMethodNamesAndDescriptors:()Ljava/util/Set;
        16: .line 444
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 446
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
            ifnull 24
        18: .line 447
            aload 0 /* this */
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
            putfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
        19: .line 448
            goto 24
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData net.sourceforge.cobertura.coveragedata.CoverageData net.sourceforge.cobertura.coveragedata.ClassData
      StackMap stack: java.lang.Throwable
        20: astore 5
        21: .line 449
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        22: .line 450
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        23: .line 451
            aload 5
            athrow
        24: .line 449
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        25: .line 450
            aload 2 /* classData */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        26: .line 452
            return
        end local 2 // net.sourceforge.cobertura.coveragedata.ClassData classData
        end local 1 // net.sourceforge.cobertura.coveragedata.CoverageData coverageData
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0          this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   27     1  coverageData  Lnet/sourceforge/cobertura/coveragedata/CoverageData;
            1   27     2     classData  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            8   13     3          iter  Ljava/util/Iterator<Ljava/lang/Integer;>;
           10   12     4           key  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           4    20      20  any
    MethodParameters:
              Name  Flags
      coverageData  

  public void removeLine(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
         0: .line 455
            iload 1 /* lineNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            astore 2 /* lineObject */
        start local 2 // java.lang.Integer lineObject
         1: .line 456
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         2: .line 458
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.children:Ljava/util/Map;
            aload 2 /* lineObject */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 459
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.branches:Ljava/util/Map;
            aload 2 /* lineObject */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 460
            goto 8
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int java.lang.Integer
      StackMap stack: java.lang.Throwable
         5: astore 3
         6: .line 461
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 462
            aload 3
            athrow
         8: .line 461
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         9: .line 463
            return
        end local 2 // java.lang.Integer lineObject
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   10     1  lineNumber  I
            1   10     2  lineObject  Ljava/lang/Integer;
      Exception table:
        from    to  target  type
           2     5       5  any
    MethodParameters:
            Name  Flags
      lineNumber  

  public void setContainsInstrumentationInfo();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
         0: .line 466
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 468
            aload 0 /* this */
            iconst_1
            putfield net.sourceforge.cobertura.coveragedata.ClassData.containsInstrumentationInfo:Z
         2: .line 469
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 1
         4: .line 470
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 471
            aload 1
            athrow
         6: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 472
            return
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
      Exception table:
        from    to  target  type
           1     3       3  any

  public void setSourceFileName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // java.lang.String sourceFileName
         0: .line 475
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 477
            aload 0 /* this */
            aload 1 /* sourceFileName */
            putfield net.sourceforge.cobertura.coveragedata.ClassData.sourceFileName:Ljava/lang/String;
         2: .line 478
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 479
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         5: .line 480
            aload 2
            athrow
         6: .line 479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         7: .line 481
            return
        end local 1 // java.lang.String sourceFileName
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0    8     1  sourceFileName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       3  any
    MethodParameters:
                Name  Flags
      sourceFileName  

  public void touch(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
        start local 2 // int hits
         0: .line 490
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 492
            aload 0 /* this */
            iload 1 /* lineNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getLineData:(I)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 3 /* lineData */
        start local 3 // net.sourceforge.cobertura.coveragedata.LineData lineData
         2: .line 493
            aload 3 /* lineData */
            ifnonnull 4
         3: .line 494
            aload 0 /* this */
            iload 1 /* lineNumber */
            aconst_null
            aconst_null
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.addLine:(ILjava/lang/String;Ljava/lang/String;)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 3 /* lineData */
         4: .line 495
      StackMap locals: net.sourceforge.cobertura.coveragedata.LineData
      StackMap stack:
            aload 3 /* lineData */
            iload 2 /* hits */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.touch:(I)V
        end local 3 // net.sourceforge.cobertura.coveragedata.LineData lineData
         5: .line 496
            goto 9
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int int
      StackMap stack: java.lang.Throwable
         6: astore 4
         7: .line 497
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 498
            aload 4
            athrow
         9: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 499
            return
        end local 2 // int hits
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   11     1  lineNumber  I
            0   11     2        hits  I
            2    5     3    lineData  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           1     6       6  any
    MethodParameters:
            Name  Flags
      lineNumber  
      hits        

  public void touchJump(int, int, boolean, int);
    descriptor: (IIZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
        start local 2 // int branchNumber
        start local 3 // boolean branch
        start local 4 // int hits
         0: .line 511
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 513
            aload 0 /* this */
            iload 1 /* lineNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getLineData:(I)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 5 /* lineData */
        start local 5 // net.sourceforge.cobertura.coveragedata.LineData lineData
         2: .line 514
            aload 5 /* lineData */
            ifnonnull 4
         3: .line 515
            aload 0 /* this */
            iload 1 /* lineNumber */
            aconst_null
            aconst_null
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.addLine:(ILjava/lang/String;Ljava/lang/String;)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 5 /* lineData */
         4: .line 516
      StackMap locals: net.sourceforge.cobertura.coveragedata.LineData
      StackMap stack:
            aload 5 /* lineData */
            iload 2 /* branchNumber */
            iload 3 /* branch */
            iload 4 /* hits */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.touchJump:(IZI)V
        end local 5 // net.sourceforge.cobertura.coveragedata.LineData lineData
         5: .line 517
            goto 9
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int int int int
      StackMap stack: java.lang.Throwable
         6: astore 6
         7: .line 518
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 519
            aload 6
            athrow
         9: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 520
            return
        end local 4 // int hits
        end local 3 // boolean branch
        end local 2 // int branchNumber
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   11     1    lineNumber  I
            0   11     2  branchNumber  I
            0   11     3        branch  Z
            0   11     4          hits  I
            2    5     5      lineData  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           1     6       6  any
    MethodParameters:
              Name  Flags
      lineNumber    
      branchNumber  
      branch        
      hits          

  public void touchSwitch(int, int, int, int);
    descriptor: (IIII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
        start local 1 // int lineNumber
        start local 2 // int switchNumber
        start local 3 // int branch
        start local 4 // int hits
         0: .line 532
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.lock:()V
         1: .line 534
            aload 0 /* this */
            iload 1 /* lineNumber */
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.getLineData:(I)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 5 /* lineData */
        start local 5 // net.sourceforge.cobertura.coveragedata.LineData lineData
         2: .line 535
            aload 5 /* lineData */
            ifnonnull 4
         3: .line 536
            aload 0 /* this */
            iload 1 /* lineNumber */
            aconst_null
            aconst_null
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.addLine:(ILjava/lang/String;Ljava/lang/String;)Lnet/sourceforge/cobertura/coveragedata/LineData;
            astore 5 /* lineData */
         4: .line 537
      StackMap locals: net.sourceforge.cobertura.coveragedata.LineData
      StackMap stack:
            aload 5 /* lineData */
            iload 2 /* switchNumber */
            iload 3 /* branch */
            iload 4 /* hits */
            invokevirtual net.sourceforge.cobertura.coveragedata.LineData.touchSwitch:(III)V
        end local 5 // net.sourceforge.cobertura.coveragedata.LineData lineData
         5: .line 538
            goto 9
      StackMap locals: net.sourceforge.cobertura.coveragedata.ClassData int int int int
      StackMap stack: java.lang.Throwable
         6: astore 6
         7: .line 539
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
         8: .line 540
            aload 6
            athrow
         9: .line 539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield net.sourceforge.cobertura.coveragedata.ClassData.lock:Ljava/util/concurrent/locks/Lock;
            invokeinterface java.util.concurrent.locks.Lock.unlock:()V
        10: .line 541
            return
        end local 4 // int hits
        end local 3 // int branch
        end local 2 // int switchNumber
        end local 1 // int lineNumber
        end local 0 // net.sourceforge.cobertura.coveragedata.ClassData this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          this  Lnet/sourceforge/cobertura/coveragedata/ClassData;
            0   11     1    lineNumber  I
            0   11     2  switchNumber  I
            0   11     3        branch  I
            0   11     4          hits  I
            2    5     5      lineData  Lnet/sourceforge/cobertura/coveragedata/LineData;
      Exception table:
        from    to  target  type
           1     6       6  any
    MethodParameters:
              Name  Flags
      lineNumber    
      switchNumber  
      branch        
      hits          

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast net.sourceforge.cobertura.coveragedata.ClassData
            invokevirtual net.sourceforge.cobertura.coveragedata.ClassData.compareTo:(Lnet/sourceforge/cobertura/coveragedata/ClassData;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Lnet/sourceforge/cobertura/coveragedata/CoverageDataContainer;Ljava/lang/Comparable<Lnet/sourceforge/cobertura/coveragedata/ClassData;>;
SourceFile: "ClassData.java"
    RuntimeInvisibleAnnotations: 
      net.sourceforge.cobertura.CoverageIgnore()