public class com.sun.tools.example.debug.gui.SourceModel extends javax.swing.AbstractListModel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.example.debug.gui.SourceModel
  super_class: javax.swing.AbstractListModel
{
  private java.io.File path;
    descriptor: Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  boolean isActuallySource;
    descriptor: Z
    flags: (0x0000) 

  private java.util.List<com.sun.jdi.ReferenceType> classes;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;

  private com.sun.tools.example.debug.gui.Environment env;
    descriptor: Lcom/sun/tools/example/debug/gui/Environment;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<com.sun.tools.example.debug.gui.SourceModel$Line> sourceLines;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/sun/tools/example/debug/gui/SourceModel$Line;>;

  public static final com.sun.tools.example.debug.gui.SourceModel$Line prototypeCellValue;
    descriptor: Lcom/sun/tools/example/debug/gui/SourceModel$Line;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 86
            new com.sun.tools.example.debug.gui.SourceModel$Line
            dup
         1: .line 87
            ldc "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~!@#$%^&*()_+{}|:<>?`-=[];',.XXXXXXXXXXXX/\\\""
         2: .line 86
            invokespecial com.sun.tools.example.debug.gui.SourceModel$Line.<init>:(Ljava/lang/String;)V
            putstatic com.sun.tools.example.debug.gui.SourceModel.prototypeCellValue:Lcom/sun/tools/example/debug/gui/SourceModel$Line;
         3: .line 91
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.sun.tools.example.debug.gui.Environment, java.io.File);
    descriptor: (Lcom/sun/tools/example/debug/gui/Environment;Ljava/io/File;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // com.sun.tools.example.debug.gui.Environment env
        start local 2 // java.io.File path
         0: .line 93
            aload 0 /* this */
            invokespecial javax.swing.AbstractListModel.<init>:()V
         1: .line 53
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.example.debug.gui.SourceModel.isActuallySource:Z
         2: .line 55
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.gui.SourceModel.classes:Ljava/util/List;
         3: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
         4: .line 94
            aload 0 /* this */
            aload 1 /* env */
            putfield com.sun.tools.example.debug.gui.SourceModel.env:Lcom/sun/tools/example/debug/gui/Environment;
         5: .line 95
            aload 0 /* this */
            aload 2 /* path */
            putfield com.sun.tools.example.debug.gui.SourceModel.path:Ljava/io/File;
         6: .line 96
            return
        end local 2 // java.io.File path
        end local 1 // com.sun.tools.example.debug.gui.Environment env
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    7     1   env  Lcom/sun/tools/example/debug/gui/Environment;
            0    7     2  path  Ljava/io/File;
    MethodParameters:
      Name  Flags
      env   
      path  

  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 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // java.lang.String message
         0: .line 98
            aload 0 /* this */
            invokespecial javax.swing.AbstractListModel.<init>:()V
         1: .line 53
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.example.debug.gui.SourceModel.isActuallySource:Z
         2: .line 55
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.gui.SourceModel.classes:Ljava/util/List;
         3: .line 68
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
         4: .line 99
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.SourceModel.path:Ljava/io/File;
         5: .line 100
            aload 0 /* this */
            aload 1 /* message */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.setMessage:(Ljava/lang/String;)V
         6: .line 101
            return
        end local 1 // java.lang.String message
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    7     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  private void setMessage(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // java.lang.String message
         0: .line 104
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.example.debug.gui.SourceModel.isActuallySource:Z
         1: .line 105
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
         2: .line 106
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            new com.sun.tools.example.debug.gui.SourceModel$Line
            dup
            aload 1 /* message */
            invokespecial com.sun.tools.example.debug.gui.SourceModel$Line.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         3: .line 107
            return
        end local 1 // java.lang.String message
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    4     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  

  public java.lang.Object getElementAt(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // int index
         0: .line 113
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            ifnonnull 2
         1: .line 114
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.initialize:()V
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            iload 1 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            areturn
        end local 1 // int index
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    3     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public int getSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
         0: .line 121
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            ifnonnull 2
         1: .line 122
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.initialize:()V
         2: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;

  public java.io.File fileName();
    descriptor: ()Ljava/io/File;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
         0: .line 130
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.path:Ljava/io/File;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;

  public java.io.BufferedReader sourceReader();
    descriptor: ()Ljava/io/BufferedReader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
         0: .line 134
            new java.io.BufferedReader
            dup
            new java.io.FileReader
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.path:Ljava/io/File;
            invokespecial java.io.FileReader.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            areturn
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;
    Exceptions:
      throws java.io.IOException

  public com.sun.tools.example.debug.gui.SourceModel$Line line(int);
    descriptor: (I)Lcom/sun/tools/example/debug/gui/SourceModel$Line;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // int lineNo
         0: .line 138
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            ifnonnull 2
         1: .line 139
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.initialize:()V
         2: .line 141
      StackMap locals:
      StackMap stack:
            iload 1 /* lineNo */
            iconst_1
            isub
            istore 2 /* index */
        start local 2 // int index
         3: .line 142
            iload 2 /* index */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 4
            iload 2 /* index */
            ifge 5
         4: .line 143
      StackMap locals: int
      StackMap stack:
            aconst_null
            areturn
         5: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            iload 2 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.gui.SourceModel$Line
            areturn
        end local 2 // int index
        end local 1 // int lineNo
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    6     1  lineNo  I
            3    6     2   index  I
    MethodParameters:
        Name  Flags
      lineNo  

  public java.lang.String sourceLine(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // int lineNo
         0: .line 150
            aload 0 /* this */
            iload 1 /* lineNo */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.line:(I)Lcom/sun/tools/example/debug/gui/SourceModel$Line;
            astore 2 /* line */
        start local 2 // com.sun.tools.example.debug.gui.SourceModel$Line line
         1: .line 151
            aload 2 /* line */
            ifnonnull 3
         2: .line 152
            aconst_null
            areturn
         3: .line 154
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel$Line
      StackMap stack:
            aload 2 /* line */
            getfield com.sun.tools.example.debug.gui.SourceModel$Line.text:Ljava/lang/String;
            areturn
        end local 2 // com.sun.tools.example.debug.gui.SourceModel$Line line
        end local 1 // int lineNo
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    4     1  lineNo  I
            1    4     2    line  Lcom/sun/tools/example/debug/gui/SourceModel$Line;
    MethodParameters:
        Name  Flags
      lineNo  

  void addClass(com.sun.jdi.ReferenceType);
    descriptor: (Lcom/sun/jdi/ReferenceType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // com.sun.jdi.ReferenceType refType
         0: .line 160
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.classes:Ljava/util/List;
            aload 1 /* refType */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            iconst_m1
            if_icmpne 4
         1: .line 161
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.classes:Ljava/util/List;
            aload 1 /* refType */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 162
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            ifnull 4
         3: .line 163
            aload 0 /* this */
            aload 1 /* refType */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.markClassLines:(Lcom/sun/jdi/ReferenceType;)V
         4: .line 166
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.jdi.ReferenceType refType
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    5     1  refType  Lcom/sun/jdi/ReferenceType;
    MethodParameters:
         Name  Flags
      refType  

  public java.util.List<com.sun.jdi.ReferenceType> referenceTypes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
         0: .line 173
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.classes:Ljava/util/List;
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;
    Signature: ()Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;

  private void initialize();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
         0: .line 178
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.rawInit:()V
         1: .line 179
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: pop
         3: .line 180
            aload 0 /* this */
            ldc "[Error reading source code]"
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.setMessage:(Ljava/lang/String;)V
         4: .line 182
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  public void showBreakpoint(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // int ln
        start local 2 // boolean hasBreakpoint
         0: .line 185
            aload 0 /* this */
            iload 1 /* ln */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.line:(I)Lcom/sun/tools/example/debug/gui/SourceModel$Line;
            iload 2 /* hasBreakpoint */
            putfield com.sun.tools.example.debug.gui.SourceModel$Line.hasBreakpoint:Z
         1: .line 186
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* ln */
            iload 1 /* ln */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.fireContentsChanged:(Ljava/lang/Object;II)V
         2: .line 187
            return
        end local 2 // boolean hasBreakpoint
        end local 1 // int ln
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    3     1             ln  I
            0    3     2  hasBreakpoint  Z
    MethodParameters:
               Name  Flags
      ln             
      hasBreakpoint  

  public void showExecutable(int, com.sun.jdi.ReferenceType);
    descriptor: (ILcom/sun/jdi/ReferenceType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // int ln
        start local 2 // com.sun.jdi.ReferenceType refType
         0: .line 190
            aload 0 /* this */
            iload 1 /* ln */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.line:(I)Lcom/sun/tools/example/debug/gui/SourceModel$Line;
            aload 2 /* refType */
            putfield com.sun.tools.example.debug.gui.SourceModel$Line.refType:Lcom/sun/jdi/ReferenceType;
         1: .line 191
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* ln */
            iload 1 /* ln */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.fireContentsChanged:(Ljava/lang/Object;II)V
         2: .line 192
            return
        end local 2 // com.sun.jdi.ReferenceType refType
        end local 1 // int ln
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    3     1       ln  I
            0    3     2  refType  Lcom/sun/jdi/ReferenceType;
    MethodParameters:
         Name  Flags
      ln       
      refType  

  private void markClassLines(com.sun.jdi.ReferenceType);
    descriptor: (Lcom/sun/jdi/ReferenceType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // com.sun.jdi.ReferenceType refType
         0: .line 199
            aload 1 /* refType */
            invokeinterface com.sun.jdi.ReferenceType.methods:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel com.sun.jdi.ReferenceType top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.Method
            astore 2 /* meth */
        start local 2 // com.sun.jdi.Method meth
         2: .line 201
            aload 2 /* meth */
            invokeinterface com.sun.jdi.Method.allLineLocations:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel com.sun.jdi.ReferenceType com.sun.jdi.Method java.util.Iterator top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.Location
            astore 4 /* loc */
        start local 4 // com.sun.jdi.Location loc
         4: .line 202
            aload 0 /* this */
            aload 4 /* loc */
            invokeinterface com.sun.jdi.Location.lineNumber:()I
            aload 1 /* refType */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.showExecutable:(ILcom/sun/jdi/ReferenceType;)V
        end local 4 // com.sun.jdi.Location loc
         5: .line 201
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 204
            goto 8
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel com.sun.jdi.ReferenceType com.sun.jdi.Method java.util.Iterator
      StackMap stack: com.sun.jdi.AbsentInformationException
         7: pop
        end local 2 // com.sun.jdi.Method meth
         8: .line 199
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel com.sun.jdi.ReferenceType top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         9: .line 209
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.env:Lcom/sun/tools/example/debug/gui/Environment;
            invokevirtual com.sun.tools.example.debug.gui.Environment.getExecutionManager:()Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
            invokeinterface com.sun.jdi.request.EventRequestManager.breakpointRequests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals:
      StackMap stack:
        10: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.request.BreakpointRequest
            astore 2 /* bp */
        start local 2 // com.sun.jdi.request.BreakpointRequest bp
        11: .line 210
            aload 2 /* bp */
            invokeinterface com.sun.jdi.request.BreakpointRequest.location:()Lcom/sun/jdi/Location;
            ifnull 15
        12: .line 211
            aload 2 /* bp */
            invokeinterface com.sun.jdi.request.BreakpointRequest.location:()Lcom/sun/jdi/Location;
            astore 4 /* loc */
        start local 4 // com.sun.jdi.Location loc
        13: .line 212
            aload 4 /* loc */
            invokeinterface com.sun.jdi.Location.declaringType:()Lcom/sun/jdi/ReferenceType;
            aload 1 /* refType */
            invokeinterface com.sun.jdi.ReferenceType.equals:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 213
            aload 0 /* this */
            aload 4 /* loc */
            invokeinterface com.sun.jdi.Location.lineNumber:()I
            iconst_1
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.showBreakpoint:(IZ)V
        end local 4 // com.sun.jdi.Location loc
        end local 2 // com.sun.jdi.request.BreakpointRequest bp
        15: .line 208
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        16: .line 217
            return
        end local 1 // com.sun.jdi.ReferenceType refType
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0   17     1  refType  Lcom/sun/jdi/ReferenceType;
            2    8     2     meth  Lcom/sun/jdi/Method;
            4    5     4      loc  Lcom/sun/jdi/Location;
           11   15     2       bp  Lcom/sun/jdi/request/BreakpointRequest;
           13   15     4      loc  Lcom/sun/jdi/Location;
      Exception table:
        from    to  target  type
           2     6       7  Class com.sun.jdi.AbsentInformationException
    MethodParameters:
         Name  Flags
      refType  

  private void rawInit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
         0: .line 220
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
         1: .line 221
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.sourceReader:()Ljava/io/BufferedReader;
            astore 1 /* reader */
        start local 1 // java.io.BufferedReader reader
         2: .line 223
            aload 1 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 2 /* line */
        start local 2 // java.lang.String line
         3: .line 224
            goto 6
         4: .line 225
      StackMap locals: java.io.BufferedReader java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.sourceLines:Ljava/util/List;
            new com.sun.tools.example.debug.gui.SourceModel$Line
            dup
            aload 0 /* this */
            aload 2 /* line */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.expandTabs:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial com.sun.tools.example.debug.gui.SourceModel$Line.<init>:(Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 226
            aload 1 /* reader */
            invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
            astore 2 /* line */
         6: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* line */
            ifnonnull 4
        end local 2 // java.lang.String line
         7: .line 228
            goto 11
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel java.io.BufferedReader
      StackMap stack: java.lang.Throwable
         8: astore 3
         9: .line 229
            aload 1 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
        10: .line 230
            aload 3
            athrow
        11: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* reader */
            invokevirtual java.io.BufferedReader.close:()V
        12: .line 231
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceModel.classes:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 15
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel java.io.BufferedReader top java.util.Iterator
      StackMap stack:
        13: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.ReferenceType
            astore 2 /* refType */
        start local 2 // com.sun.jdi.ReferenceType refType
        14: .line 232
            aload 0 /* this */
            aload 2 /* refType */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.markClassLines:(Lcom/sun/jdi/ReferenceType;)V
        end local 2 // com.sun.jdi.ReferenceType refType
        15: .line 231
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 234
            return
        end local 1 // java.io.BufferedReader reader
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lcom/sun/tools/example/debug/gui/SourceModel;
            2   17     1   reader  Ljava/io/BufferedReader;
            3    7     2     line  Ljava/lang/String;
           14   15     2  refType  Lcom/sun/jdi/ReferenceType;
      Exception table:
        from    to  target  type
           2     8       8  any
    Exceptions:
      throws java.io.IOException

  private java.lang.String expandTabs(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceModel this
        start local 1 // java.lang.String s
         0: .line 237
            iconst_0
            istore 2 /* col */
        start local 2 // int col
         1: .line 238
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            istore 3 /* len */
        start local 3 // int len
         2: .line 239
            new java.lang.StringBuffer
            dup
            sipush 132
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
         3: .line 240
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 18
         5: .line 241
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel java.lang.String int int java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* s */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         6: .line 242
            aload 4 /* sb */
            iload 6 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 243
            iload 6 /* c */
            bipush 9
            if_icmpne 16
         8: .line 244
            bipush 8
            iload 2 /* col */
            bipush 8
            irem
            isub
            istore 7 /* pad */
        start local 7 // int pad
         9: .line 245
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        10: goto 13
        11: .line 246
      StackMap locals: int int int
      StackMap stack:
            aload 4 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        12: .line 245
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 8 /* j */
            iload 7 /* pad */
            if_icmplt 11
        end local 8 // int j
        14: .line 248
            iload 2 /* col */
            iload 7 /* pad */
            iadd
            istore 2 /* col */
        end local 7 // int pad
        15: .line 249
            goto 17
        16: .line 250
      StackMap locals:
      StackMap stack:
            iinc 2 /* col */ 1
        end local 6 // char c
        17: .line 240
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            iload 3 /* len */
            if_icmplt 5
        end local 5 // int i
        19: .line 253
            aload 4 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuffer sb
        end local 3 // int len
        end local 2 // int col
        end local 1 // java.lang.String s
        end local 0 // com.sun.tools.example.debug.gui.SourceModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lcom/sun/tools/example/debug/gui/SourceModel;
            0   20     1     s  Ljava/lang/String;
            1   20     2   col  I
            2   20     3   len  I
            3   20     4    sb  Ljava/lang/StringBuffer;
            4   19     5     i  I
            6   17     6     c  C
            9   15     7   pad  I
           10   14     8     j  I
    MethodParameters:
      Name  Flags
      s     
}
SourceFile: "SourceModel.java"
NestMembers:
  com.sun.tools.example.debug.gui.SourceModel$Line
InnerClasses:
  public Line = com.sun.tools.example.debug.gui.SourceModel$Line of com.sun.tools.example.debug.gui.SourceModel