public class com.sun.tools.example.debug.gui.SourceTool extends javax.swing.JPanel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.example.debug.gui.SourceTool
  super_class: javax.swing.JPanel
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -5461299294186395257

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

  private com.sun.tools.example.debug.bdi.ExecutionManager runtime;
    descriptor: Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    flags: (0x0002) ACC_PRIVATE

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

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

  private javax.swing.JList list;
    descriptor: Ljavax/swing/JList;
    flags: (0x0002) ACC_PRIVATE

  private javax.swing.ListModel sourceModel;
    descriptor: Ljavax/swing/ListModel;
    flags: (0x0002) ACC_PRIVATE

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

  private com.sun.jdi.Location sourceLocn;
    descriptor: Lcom/sun/jdi/Location;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(com.sun.tools.example.debug.gui.Environment);
    descriptor: (Lcom/sun/tools/example/debug/gui/Environment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // com.sun.tools.example.debug.gui.Environment env
         0: .line 70
            aload 0 /* this */
            new java.awt.BorderLayout
            dup
            invokespecial java.awt.BorderLayout.<init>:()V
            invokespecial javax.swing.JPanel.<init>:(Ljava/awt/LayoutManager;)V
         1: .line 72
            aload 0 /* this */
            aload 1 /* env */
            putfield com.sun.tools.example.debug.gui.SourceTool.env:Lcom/sun/tools/example/debug/gui/Environment;
         2: .line 74
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getExecutionManager:()Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            putfield com.sun.tools.example.debug.gui.SourceTool.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
         3: .line 75
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getSourceManager:()Lcom/sun/tools/example/debug/gui/SourceManager;
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceManager:Lcom/sun/tools/example/debug/gui/SourceManager;
         4: .line 76
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getContextManager:()Lcom/sun/tools/example/debug/gui/ContextManager;
            putfield com.sun.tools.example.debug.gui.SourceTool.context:Lcom/sun/tools/example/debug/gui/ContextManager;
         5: .line 77
            aload 0 /* this */
            new com.sun.tools.example.debug.gui.CommandInterpreter
            dup
            aload 1 /* env */
            iconst_1
            invokespecial com.sun.tools.example.debug.gui.CommandInterpreter.<init>:(Lcom/sun/tools/example/debug/gui/Environment;Z)V
            putfield com.sun.tools.example.debug.gui.SourceTool.interpreter:Lcom/sun/tools/example/debug/gui/CommandInterpreter;
         6: .line 79
            aload 0 /* this */
            new javax.swing.DefaultListModel
            dup
            invokespecial javax.swing.DefaultListModel.<init>:()V
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceModel:Ljavax/swing/ListModel;
         7: .line 81
            aload 0 /* this */
            new javax.swing.JList
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.sourceModel:Ljavax/swing/ListModel;
            invokespecial javax.swing.JList.<init>:(Ljavax/swing/ListModel;)V
            putfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
         8: .line 82
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            new com.sun.tools.example.debug.gui.SourceTool$SourceLineRenderer
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.SourceTool$SourceLineRenderer.<init>:(Lcom/sun/tools/example/debug/gui/SourceTool;)V
            invokevirtual javax.swing.JList.setCellRenderer:(Ljavax/swing/ListCellRenderer;)V
         9: .line 84
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            getstatic com.sun.tools.example.debug.gui.SourceModel.prototypeCellValue:Lcom/sun/tools/example/debug/gui/SourceModel$Line;
            invokevirtual javax.swing.JList.setPrototypeCellValue:(Ljava/lang/Object;)V
        10: .line 86
            new com.sun.tools.example.debug.gui.SourceTool$SourceToolListener
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.SourceTool$SourceToolListener.<init>:(Lcom/sun/tools/example/debug/gui/SourceTool;)V
            astore 2 /* listener */
        start local 2 // com.sun.tools.example.debug.gui.SourceTool$SourceToolListener listener
        11: .line 87
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.context:Lcom/sun/tools/example/debug/gui/ContextManager;
            aload 2 /* listener */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.addContextListener:(Lcom/sun/tools/example/debug/gui/ContextListener;)V
        12: .line 88
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 2 /* listener */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.addSpecListener:(Lcom/sun/tools/example/debug/bdi/SpecListener;)V
        13: .line 89
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.sourceManager:Lcom/sun/tools/example/debug/gui/SourceManager;
            aload 2 /* listener */
            invokevirtual com.sun.tools.example.debug.gui.SourceManager.addSourceListener:(Lcom/sun/tools/example/debug/gui/SourceListener;)V
        14: .line 91
            new com.sun.tools.example.debug.gui.SourceTool$STMouseListener
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.SourceTool$STMouseListener.<init>:(Lcom/sun/tools/example/debug/gui/SourceTool;)V
            astore 3 /* squeek */
        start local 3 // java.awt.event.MouseListener squeek
        15: .line 92
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            aload 3 /* squeek */
            invokevirtual javax.swing.JList.addMouseListener:(Ljava/awt/event/MouseListener;)V
        16: .line 94
            aload 0 /* this */
            new javax.swing.JScrollPane
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            invokespecial javax.swing.JScrollPane.<init>:(Ljava/awt/Component;)V
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.add:(Ljava/awt/Component;)Ljava/awt/Component;
            pop
        17: .line 95
            return
        end local 3 // java.awt.event.MouseListener squeek
        end local 2 // com.sun.tools.example.debug.gui.SourceTool$SourceToolListener listener
        end local 1 // com.sun.tools.example.debug.gui.Environment env
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0   18     1       env  Lcom/sun/tools/example/debug/gui/Environment;
           11   18     2  listener  Lcom/sun/tools/example/debug/gui/SourceTool$SourceToolListener;
           15   18     3    squeek  Ljava/awt/event/MouseListener;
    MethodParameters:
      Name  Flags
      env   

  public void setTextFont(java.awt.Font);
    descriptor: (Ljava/awt/Font;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // java.awt.Font f
         0: .line 98
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            aload 1 /* f */
            invokevirtual javax.swing.JList.setFont:(Ljava/awt/Font;)V
         1: .line 99
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            getstatic com.sun.tools.example.debug.gui.SourceModel.prototypeCellValue:Lcom/sun/tools/example/debug/gui/SourceModel$Line;
            invokevirtual javax.swing.JList.setPrototypeCellValue:(Ljava/lang/Object;)V
         2: .line 100
            return
        end local 1 // java.awt.Font f
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0    3     1     f  Ljava/awt/Font;
    MethodParameters:
      Name  Flags
      f     

  private void showSourceContext(com.sun.jdi.ThreadReference, int);
    descriptor: (Lcom/sun/jdi/ThreadReference;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // com.sun.jdi.ThreadReference thread
        start local 2 // int index
         0: .line 205
            aconst_null
            astore 3 /* frame */
        start local 3 // com.sun.jdi.StackFrame frame
         1: .line 206
            aload 1 /* thread */
            ifnull 5
         2: .line 208
            aload 1 /* thread */
            iload 2 /* index */
            invokeinterface com.sun.jdi.ThreadReference.frame:(I)Lcom/sun/jdi/StackFrame;
            astore 3 /* frame */
         3: .line 209
            goto 5
      StackMap locals: com.sun.tools.example.debug.gui.SourceTool com.sun.jdi.ThreadReference int com.sun.jdi.StackFrame
      StackMap stack: com.sun.jdi.IncompatibleThreadStateException
         4: pop
         5: .line 211
      StackMap locals:
      StackMap stack:
            aload 3 /* frame */
            ifnonnull 7
         6: .line 212
            return
         7: .line 214
      StackMap locals:
      StackMap stack:
            aload 3 /* frame */
            invokeinterface com.sun.jdi.StackFrame.location:()Lcom/sun/jdi/Location;
            astore 4 /* locn */
        start local 4 // com.sun.jdi.Location locn
         8: .line 221
            aload 0 /* this */
            aload 4 /* locn */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.showSourceForLocation:(Lcom/sun/jdi/Location;)Z
            pop
         9: .line 222
            return
        end local 4 // com.sun.jdi.Location locn
        end local 3 // com.sun.jdi.StackFrame frame
        end local 2 // int index
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0   10     1  thread  Lcom/sun/jdi/ThreadReference;
            0   10     2   index  I
            1   10     3   frame  Lcom/sun/jdi/StackFrame;
            8   10     4    locn  Lcom/sun/jdi/Location;
      Exception table:
        from    to  target  type
           2     3       4  Class com.sun.jdi.IncompatibleThreadStateException
    MethodParameters:
        Name  Flags
      thread  
      index   

  public boolean showSourceForLocation(com.sun.jdi.Location);
    descriptor: (Lcom/sun/jdi/Location;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // com.sun.jdi.Location locn
         0: .line 225
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceName:Ljava/lang/String;
         1: .line 226
            aload 0 /* this */
            aload 1 /* locn */
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceLocn:Lcom/sun/jdi/Location;
         2: .line 227
            aload 1 /* locn */
            invokeinterface com.sun.jdi.Location.lineNumber:()I
            istore 2 /* lineNo */
        start local 2 // int lineNo
         3: .line 228
            iload 2 /* lineNo */
            iconst_m1
            if_icmpeq 8
         4: .line 229
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.sourceManager:Lcom/sun/tools/example/debug/gui/SourceManager;
            aload 1 /* locn */
            invokevirtual com.sun.tools.example.debug.gui.SourceManager.sourceForLocation:(Lcom/sun/jdi/Location;)Lcom/sun/tools/example/debug/gui/SourceModel;
            astore 3 /* source */
        start local 3 // com.sun.tools.example.debug.gui.SourceModel source
         5: .line 230
            aload 3 /* source */
            ifnull 8
         6: .line 231
            aload 0 /* this */
            aload 3 /* source */
            iload 2 /* lineNo */
            iconst_1
            isub
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.showSourceAtLine:(Lcom/sun/tools/example/debug/gui/SourceModel;I)V
         7: .line 232
            iconst_1
            ireturn
        end local 3 // com.sun.tools.example.debug.gui.SourceModel source
         8: .line 236
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.showSourceUnavailable:()V
         9: .line 237
            iconst_0
            ireturn
        end local 2 // int lineNo
        end local 1 // com.sun.jdi.Location locn
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0   10     1    locn  Lcom/sun/jdi/Location;
            3   10     2  lineNo  I
            5    8     3  source  Lcom/sun/tools/example/debug/gui/SourceModel;
    MethodParameters:
      Name  Flags
      locn  

  public boolean showSourceFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // java.lang.String fileName
         0: .line 241
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceLocn:Lcom/sun/jdi/Location;
         1: .line 243
            aload 1 /* fileName */
            getstatic java.io.File.separator:Ljava/lang/String;
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 8
         2: .line 244
            aload 0 /* this */
            aload 1 /* fileName */
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceName:Ljava/lang/String;
         3: .line 245
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.sourceManager:Lcom/sun/tools/example/debug/gui/SourceManager;
            invokevirtual com.sun.tools.example.debug.gui.SourceManager.getSourcePath:()Lcom/sun/tools/example/debug/gui/SearchPath;
            astore 3 /* sourcePath */
        start local 3 // com.sun.tools.example.debug.gui.SearchPath sourcePath
         4: .line 246
            aload 3 /* sourcePath */
            aload 1 /* fileName */
            invokevirtual com.sun.tools.example.debug.gui.SearchPath.resolve:(Ljava/lang/String;)Ljava/io/File;
            astore 2 /* file */
        start local 2 // java.io.File file
         5: .line 247
            aload 2 /* file */
            ifnonnull 10
         6: .line 249
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.showSourceUnavailable:()V
         7: .line 250
            iconst_0
            ireturn
        end local 3 // com.sun.tools.example.debug.gui.SearchPath sourcePath
        end local 2 // java.io.File file
         8: .line 253
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceName:Ljava/lang/String;
         9: .line 254
            new java.io.File
            dup
            aload 1 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 2 /* file */
        start local 2 // java.io.File file
        10: .line 256
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.sourceManager:Lcom/sun/tools/example/debug/gui/SourceManager;
            aload 2 /* file */
            invokevirtual com.sun.tools.example.debug.gui.SourceManager.sourceForFile:(Ljava/io/File;)Lcom/sun/tools/example/debug/gui/SourceModel;
            astore 3 /* source */
        start local 3 // com.sun.tools.example.debug.gui.SourceModel source
        11: .line 257
            aload 3 /* source */
            ifnull 14
        12: .line 258
            aload 0 /* this */
            aload 3 /* source */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.showSource:(Lcom/sun/tools/example/debug/gui/SourceModel;)V
        13: .line 259
            iconst_1
            ireturn
        14: .line 261
      StackMap locals: com.sun.tools.example.debug.gui.SourceModel
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.showSourceUnavailable:()V
        15: .line 262
            iconst_0
            ireturn
        end local 3 // com.sun.tools.example.debug.gui.SourceModel source
        end local 2 // java.io.File file
        end local 1 // java.lang.String fileName
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   16     0        this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0   16     1    fileName  Ljava/lang/String;
            5    8     2        file  Ljava/io/File;
           10   16     2        file  Ljava/io/File;
            4    8     3  sourcePath  Lcom/sun/tools/example/debug/gui/SearchPath;
           11   16     3      source  Lcom/sun/tools/example/debug/gui/SourceModel;
    MethodParameters:
          Name  Flags
      fileName  

  private void showSource(com.sun.tools.example.debug.gui.SourceModel);
    descriptor: (Lcom/sun/tools/example/debug/gui/SourceModel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // com.sun.tools.example.debug.gui.SourceModel model
         0: .line 266
            aload 0 /* this */
            aload 1 /* model */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.setViewModel:(Lcom/sun/tools/example/debug/gui/SourceModel;)V
         1: .line 267
            return
        end local 1 // com.sun.tools.example.debug.gui.SourceModel model
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0    2     1  model  Lcom/sun/tools/example/debug/gui/SourceModel;
    MethodParameters:
       Name  Flags
      model  

  private void showSourceAtLine(com.sun.tools.example.debug.gui.SourceModel, int);
    descriptor: (Lcom/sun/tools/example/debug/gui/SourceModel;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // com.sun.tools.example.debug.gui.SourceModel model
        start local 2 // int lineNo
         0: .line 270
            aload 0 /* this */
            aload 1 /* model */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.setViewModel:(Lcom/sun/tools/example/debug/gui/SourceModel;)V
         1: .line 271
            aload 1 /* model */
            getfield com.sun.tools.example.debug.gui.SourceModel.isActuallySource:Z
            ifeq 6
            iload 2 /* lineNo */
            aload 1 /* model */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.getSize:()I
            if_icmpge 6
         2: .line 272
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            iload 2 /* lineNo */
            invokevirtual javax.swing.JList.setSelectedIndex:(I)V
         3: .line 273
            iload 2 /* lineNo */
            iconst_4
            iadd
            aload 1 /* model */
            invokevirtual com.sun.tools.example.debug.gui.SourceModel.getSize:()I
            if_icmpge 5
         4: .line 274
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            iload 2 /* lineNo */
            iconst_4
            iadd
            invokevirtual javax.swing.JList.ensureIndexIsVisible:(I)V
         5: .line 276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            iload 2 /* lineNo */
            invokevirtual javax.swing.JList.ensureIndexIsVisible:(I)V
         6: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int lineNo
        end local 1 // com.sun.tools.example.debug.gui.SourceModel model
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0    7     1   model  Lcom/sun/tools/example/debug/gui/SourceModel;
            0    7     2  lineNo  I
    MethodParameters:
        Name  Flags
      model   
      lineNo  

  private void showSourceUnavailable();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
         0: .line 281
            new com.sun.tools.example.debug.gui.SourceModel
            dup
            ldc "[Source code is not available]"
            invokespecial com.sun.tools.example.debug.gui.SourceModel.<init>:(Ljava/lang/String;)V
            astore 1 /* model */
        start local 1 // com.sun.tools.example.debug.gui.SourceModel model
         1: .line 282
            aload 0 /* this */
            aload 1 /* model */
            invokevirtual com.sun.tools.example.debug.gui.SourceTool.setViewModel:(Lcom/sun/tools/example/debug/gui/SourceModel;)V
         2: .line 283
            return
        end local 1 // com.sun.tools.example.debug.gui.SourceModel model
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/example/debug/gui/SourceTool;
            1    3     1  model  Lcom/sun/tools/example/debug/gui/SourceModel;

  private void setViewModel(com.sun.tools.example.debug.gui.SourceModel);
    descriptor: (Lcom/sun/tools/example/debug/gui/SourceModel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.SourceTool this
        start local 1 // com.sun.tools.example.debug.gui.SourceModel model
         0: .line 286
            aload 1 /* model */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.sourceModel:Ljavax/swing/ListModel;
            if_acmpeq 3
         1: .line 288
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.SourceTool.list:Ljavax/swing/JList;
            aload 1 /* model */
            invokevirtual javax.swing.JList.setModel:(Ljavax/swing/ListModel;)V
         2: .line 289
            aload 0 /* this */
            aload 1 /* model */
            putfield com.sun.tools.example.debug.gui.SourceTool.sourceModel:Ljavax/swing/ListModel;
         3: .line 291
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.example.debug.gui.SourceModel model
        end local 0 // com.sun.tools.example.debug.gui.SourceTool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/example/debug/gui/SourceTool;
            0    4     1  model  Lcom/sun/tools/example/debug/gui/SourceModel;
    MethodParameters:
       Name  Flags
      model  
}
SourceFile: "SourceTool.java"
NestMembers:
  com.sun.tools.example.debug.gui.SourceTool$STMouseListener  com.sun.tools.example.debug.gui.SourceTool$STMouseListener$1  com.sun.tools.example.debug.gui.SourceTool$SourceLineRenderer  com.sun.tools.example.debug.gui.SourceTool$SourceToolListener
InnerClasses:
  private STMouseListener = com.sun.tools.example.debug.gui.SourceTool$STMouseListener of com.sun.tools.example.debug.gui.SourceTool
  private SourceLineRenderer = com.sun.tools.example.debug.gui.SourceTool$SourceLineRenderer of com.sun.tools.example.debug.gui.SourceTool
  private SourceToolListener = com.sun.tools.example.debug.gui.SourceTool$SourceToolListener of com.sun.tools.example.debug.gui.SourceTool