public class com.sun.tools.example.debug.gui.ContextManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.example.debug.gui.ContextManager
  super_class: java.lang.Object
{
  private com.sun.tools.example.debug.gui.ClassManager classManager;
    descriptor: Lcom/sun/tools/example/debug/gui/ClassManager;
    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 java.lang.String mainClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private java.util.ArrayList<com.sun.tools.example.debug.gui.ContextListener> contextListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lcom/sun/tools/example/debug/gui/ContextListener;>;

  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=3, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.gui.Environment env
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 58
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.gui.ContextManager.contextListeners:Ljava/util/ArrayList;
         2: .line 61
            aload 0 /* this */
            aload 1 /* env */
            invokevirtual com.sun.tools.example.debug.gui.Environment.getClassManager:()Lcom/sun/tools/example/debug/gui/ClassManager;
            putfield com.sun.tools.example.debug.gui.ContextManager.classManager:Lcom/sun/tools/example/debug/gui/ClassManager;
         3: .line 62
            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.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
         4: .line 63
            aload 0 /* this */
            ldc ""
            putfield com.sun.tools.example.debug.gui.ContextManager.mainClassName:Ljava/lang/String;
         5: .line 64
            aload 0 /* this */
            ldc ""
            putfield com.sun.tools.example.debug.gui.ContextManager.vmArguments:Ljava/lang/String;
         6: .line 65
            aload 0 /* this */
            ldc ""
            putfield com.sun.tools.example.debug.gui.ContextManager.commandArguments:Ljava/lang/String;
         7: .line 66
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
         8: .line 68
            new com.sun.tools.example.debug.gui.ContextManager$ContextManagerListener
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.gui.ContextManager$ContextManagerListener.<init>:(Lcom/sun/tools/example/debug/gui/ContextManager;)V
            astore 2 /* listener */
        start local 2 // com.sun.tools.example.debug.gui.ContextManager$ContextManagerListener listener
         9: .line 69
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 2 /* listener */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.addJDIListener:(Lcom/sun/tools/example/debug/event/JDIListener;)V
        10: .line 70
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 2 /* listener */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.addSessionListener:(Lcom/sun/tools/example/debug/bdi/SessionListener;)V
        11: .line 71
            return
        end local 2 // com.sun.tools.example.debug.gui.ContextManager$ContextManagerListener listener
        end local 1 // com.sun.tools.example.debug.gui.Environment env
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0   12     1       env  Lcom/sun/tools/example/debug/gui/Environment;
            9   12     2  listener  Lcom/sun/tools/example/debug/gui/ContextManager$ContextManagerListener;
    MethodParameters:
      Name  Flags
      env   

  public java.lang.String getMainClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 80
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.mainClassName:Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public void setMainClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // java.lang.String mainClassName
         0: .line 84
            aload 0 /* this */
            aload 1 /* mainClassName */
            putfield com.sun.tools.example.debug.gui.ContextManager.mainClassName:Ljava/lang/String;
         1: .line 85
            return
        end local 1 // java.lang.String mainClassName
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1  mainClassName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      mainClassName  

  public java.lang.String getVmArguments();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 88
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.vmArguments:Ljava/lang/String;
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.processClasspathDefaults:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public void setVmArguments(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // java.lang.String vmArguments
         0: .line 92
            aload 0 /* this */
            aload 1 /* vmArguments */
            putfield com.sun.tools.example.debug.gui.ContextManager.vmArguments:Ljava/lang/String;
         1: .line 93
            return
        end local 1 // java.lang.String vmArguments
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1  vmArguments  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      vmArguments  

  public java.lang.String getProgramArguments();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 96
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.commandArguments:Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public void setProgramArguments(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // java.lang.String commandArguments
         0: .line 100
            aload 0 /* this */
            aload 1 /* commandArguments */
            putfield com.sun.tools.example.debug.gui.ContextManager.commandArguments:Ljava/lang/String;
         1: .line 101
            return
        end local 1 // java.lang.String commandArguments
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1  commandArguments  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      commandArguments  

  public java.lang.String getRemotePort();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 104
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.remotePort:Ljava/lang/String;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public void setRemotePort(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // java.lang.String remotePort
         0: .line 108
            aload 0 /* this */
            aload 1 /* remotePort */
            putfield com.sun.tools.example.debug.gui.ContextManager.remotePort:Ljava/lang/String;
         1: .line 110
            return
        end local 1 // java.lang.String remotePort
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1  remotePort  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      remotePort  

  public boolean getVerboseFlag();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 116
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.verbose:Z
            ireturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public void setVerboseFlag(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // boolean verbose
         0: .line 120
            aload 0 /* this */
            iload 1 /* verbose */
            putfield com.sun.tools.example.debug.gui.ContextManager.verbose:Z
         1: .line 121
            return
        end local 1 // boolean verbose
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1  verbose  Z
    MethodParameters:
         Name  Flags
      verbose  

  public com.sun.jdi.ThreadReference getCurrentThread();
    descriptor: ()Lcom/sun/jdi/ThreadReference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 127
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public void setCurrentThread(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
         0: .line 131
            aload 1 /* t */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
            if_acmpeq 3
         1: .line 132
            aload 0 /* this */
            aload 1 /* t */
            putfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
         2: .line 133
            aload 0 /* this */
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.notifyCurrentThreadChanged:(Lcom/sun/jdi/ThreadReference;)V
         3: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    4     1     t  Lcom/sun/jdi/ThreadReference;
    MethodParameters:
      Name  Flags
      t     

  public void setCurrentThreadInvalidate(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
         0: .line 138
            aload 0 /* this */
            aload 1 /* t */
            putfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
         1: .line 139
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
         2: .line 140
            iconst_0
            iconst_1
         3: .line 139
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.notifyCurrentFrameChanged:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;IZ)V
         4: .line 141
            return
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    5     1     t  Lcom/sun/jdi/ThreadReference;
    MethodParameters:
      Name  Flags
      t     

  public void invalidateCurrentThread();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 144
            aload 0 /* this */
            aconst_null
            iconst_0
            iconst_1
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.notifyCurrentFrameChanged:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;IZ)V
         1: .line 145
            return
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;

  public int getCurrentFrameIndex(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
         0: .line 161
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.getCurrentFrameIndex:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;)I
            ireturn
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    1     1     t  Lcom/sun/jdi/ThreadReference;
    MethodParameters:
      Name  Flags
      t     

  public int getCurrentFrameIndex(com.sun.tools.example.debug.bdi.ThreadInfo);
    descriptor: (Lcom/sun/tools/example/debug/bdi/ThreadInfo;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
         0: .line 166
            aload 1 /* tinfo */
            ifnonnull 2
         1: .line 167
            iconst_0
            ireturn
         2: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* tinfo */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.getUserObject:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 2 /* currentFrame */
        start local 2 // java.lang.Integer currentFrame
         3: .line 170
            aload 2 /* currentFrame */
            ifnonnull 5
         4: .line 171
            iconst_0
            ireturn
         5: .line 173
      StackMap locals: java.lang.Integer
      StackMap stack:
            aload 2 /* currentFrame */
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 2 // java.lang.Integer currentFrame
        end local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    6     1         tinfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            3    6     2  currentFrame  Ljava/lang/Integer;
    MethodParameters:
       Name  Flags
      tinfo  

  public int moveCurrentFrameIndex(com.sun.jdi.ThreadReference, int);
    descriptor: (Lcom/sun/jdi/ThreadReference;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
        start local 2 // int count
         0: .line 178
            aload 0 /* this */
            aload 1 /* t */
            iload 2 /* count */
            iconst_1
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.setCurrentFrameIndex:(Lcom/sun/jdi/ThreadReference;IZ)I
            ireturn
        end local 2 // int count
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    1     1      t  Lcom/sun/jdi/ThreadReference;
            0    1     2  count  I
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException
    MethodParameters:
       Name  Flags
      t      
      count  

  public int setCurrentFrameIndex(com.sun.jdi.ThreadReference, int);
    descriptor: (Lcom/sun/jdi/ThreadReference;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
        start local 2 // int newIndex
         0: .line 182
            aload 0 /* this */
            aload 1 /* t */
            iload 2 /* newIndex */
            iconst_0
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.setCurrentFrameIndex:(Lcom/sun/jdi/ThreadReference;IZ)I
            ireturn
        end local 2 // int newIndex
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    1     1         t  Lcom/sun/jdi/ThreadReference;
            0    1     2  newIndex  I
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException
    MethodParameters:
          Name  Flags
      t         
      newIndex  

  public int setCurrentFrameIndex(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // int newIndex
         0: .line 186
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
            ifnonnull 2
         1: .line 187
            iconst_0
            ireturn
         2: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
            iload 1 /* newIndex */
            iconst_0
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.setCurrentFrameIndex:(Lcom/sun/jdi/ThreadReference;IZ)I
            ireturn
        end local 1 // int newIndex
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    3     1  newIndex  I
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException
    MethodParameters:
          Name  Flags
      newIndex  

  private int setCurrentFrameIndex(com.sun.jdi.ThreadReference, int, boolean);
    descriptor: (Lcom/sun/jdi/ThreadReference;IZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=4
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
        start local 2 // int x
        start local 3 // boolean relative
         0: .line 194
            aload 1 /* t */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
            invokeinterface com.sun.jdi.ThreadReference.equals:(Ljava/lang/Object;)Z
            istore 4 /* sameThread */
        start local 4 // boolean sameThread
         1: .line 195
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            astore 5 /* tinfo */
        start local 5 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
         2: .line 196
            aload 5 /* tinfo */
            ifnonnull 4
         3: .line 197
            iconst_0
            ireturn
         4: .line 199
      StackMap locals: int com.sun.tools.example.debug.bdi.ThreadInfo
      StackMap stack:
            aload 5 /* tinfo */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.getFrameCount:()I
            iconst_1
            isub
            istore 6 /* maxIndex */
        start local 6 // int maxIndex
         5: .line 200
            aload 0 /* this */
            aload 5 /* tinfo */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.getCurrentFrameIndex:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;)I
            istore 7 /* oldIndex */
        start local 7 // int oldIndex
         6: .line 201
            iload 3 /* relative */
            ifeq 7
            iload 7 /* oldIndex */
            iload 2 /* x */
            iadd
            goto 8
      StackMap locals: int int
      StackMap stack:
         7: iload 2 /* x */
      StackMap locals:
      StackMap stack: int
         8: istore 8 /* newIndex */
        start local 8 // int newIndex
         9: .line 202
            iload 8 /* newIndex */
            iload 6 /* maxIndex */
            if_icmple 12
        10: .line 203
            iload 6 /* maxIndex */
            istore 8 /* newIndex */
        11: .line 204
            goto 14
      StackMap locals: int
      StackMap stack:
        12: iload 8 /* newIndex */
            ifge 14
        13: .line 205
            iconst_0
            istore 8 /* newIndex */
        14: .line 207
      StackMap locals:
      StackMap stack:
            iload 4 /* sameThread */
            ifeq 15
            iload 8 /* newIndex */
            iload 7 /* oldIndex */
            if_icmpeq 16
        15: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* tinfo */
            iload 8 /* newIndex */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.setCurrentFrameIndex:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;I)V
        16: .line 210
      StackMap locals:
      StackMap stack:
            iload 8 /* newIndex */
            iload 7 /* oldIndex */
            isub
            ireturn
        end local 8 // int newIndex
        end local 7 // int oldIndex
        end local 6 // int maxIndex
        end local 5 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        end local 4 // boolean sameThread
        end local 3 // boolean relative
        end local 2 // int x
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0   17     1           t  Lcom/sun/jdi/ThreadReference;
            0   17     2           x  I
            0   17     3    relative  Z
            1   17     4  sameThread  Z
            2   17     5       tinfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            5   17     6    maxIndex  I
            6   17     7    oldIndex  I
            9   17     8    newIndex  I
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException
    MethodParameters:
          Name  Flags
      t         
      x         
      relative  

  private void setCurrentFrameIndex(com.sun.tools.example.debug.bdi.ThreadInfo, int);
    descriptor: (Lcom/sun/tools/example/debug/bdi/ThreadInfo;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        start local 2 // int index
         0: .line 214
            aload 1 /* tinfo */
            new java.lang.Integer
            dup
            iload 2 /* index */
            invokespecial java.lang.Integer.<init>:(I)V
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.setUserObject:(Ljava/lang/Object;)V
         1: .line 219
            aload 0 /* this */
            aload 1 /* tinfo */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.thread:()Lcom/sun/jdi/ThreadReference;
            iload 2 /* index */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.notifyCurrentFrameChanged:(Lcom/sun/jdi/ThreadReference;I)V
         2: .line 220
            return
        end local 2 // int index
        end local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    3     1  tinfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            0    3     2  index  I
    MethodParameters:
       Name  Flags
      tinfo  
      index  

  public com.sun.jdi.StackFrame getCurrentFrame();
    descriptor: ()Lcom/sun/jdi/StackFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
         0: .line 223
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.currentThread:Lcom/sun/jdi/ThreadReference;
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.getCurrentFrame:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;)Lcom/sun/jdi/StackFrame;
            areturn
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException

  public com.sun.jdi.StackFrame getCurrentFrame(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)Lcom/sun/jdi/StackFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
         0: .line 227
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.getCurrentFrame:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;)Lcom/sun/jdi/StackFrame;
            areturn
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    1     1     t  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException
    MethodParameters:
      Name  Flags
      t     

  public com.sun.jdi.StackFrame getCurrentFrame(com.sun.tools.example.debug.bdi.ThreadInfo);
    descriptor: (Lcom/sun/tools/example/debug/bdi/ThreadInfo;)Lcom/sun/jdi/StackFrame;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
         0: .line 231
            aload 0 /* this */
            aload 1 /* tinfo */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.getCurrentFrameIndex:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;)I
            istore 2 /* index */
        start local 2 // int index
         1: .line 235
            aload 1 /* tinfo */
            iload 2 /* index */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.getFrame:(I)Lcom/sun/jdi/StackFrame;
         2: areturn
         3: .line 236
      StackMap locals: com.sun.tools.example.debug.gui.ContextManager com.sun.tools.example.debug.bdi.ThreadInfo int
      StackMap stack: com.sun.tools.example.debug.bdi.FrameIndexOutOfBoundsException
            pop
         4: .line 237
            aconst_null
            areturn
        end local 2 // int index
        end local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    5     1  tinfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            1    5     2  index  I
      Exception table:
        from    to  target  type
           1     2       3  Class com.sun.tools.example.debug.bdi.FrameIndexOutOfBoundsException
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMNotInterruptedException
    MethodParameters:
       Name  Flags
      tinfo  

  public void addContextListener(com.sun.tools.example.debug.gui.ContextListener);
    descriptor: (Lcom/sun/tools/example/debug/gui/ContextListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.gui.ContextListener cl
         0: .line 242
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.contextListeners:Ljava/util/ArrayList;
            aload 1 /* cl */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 243
            return
        end local 1 // com.sun.tools.example.debug.gui.ContextListener cl
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1    cl  Lcom/sun/tools/example/debug/gui/ContextListener;
    MethodParameters:
      Name  Flags
      cl    

  public void removeContextListener(com.sun.tools.example.debug.gui.ContextListener);
    descriptor: (Lcom/sun/tools/example/debug/gui/ContextListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.gui.ContextListener cl
         0: .line 246
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.contextListeners:Ljava/util/ArrayList;
            aload 1 /* cl */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 247
            return
        end local 1 // com.sun.tools.example.debug.gui.ContextListener cl
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    2     1    cl  Lcom/sun/tools/example/debug/gui/ContextListener;
    MethodParameters:
      Name  Flags
      cl    

  private void notifyCurrentThreadChanged(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
         0: .line 260
            aconst_null
            astore 2 /* tinfo */
        start local 2 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
         1: .line 261
            iconst_0
            istore 3 /* index */
        start local 3 // int index
         2: .line 262
            aload 1 /* t */
            ifnull 5
         3: .line 263
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            astore 2 /* tinfo */
         4: .line 264
            aload 0 /* this */
            aload 2 /* tinfo */
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.getCurrentFrameIndex:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;)I
            istore 3 /* index */
         5: .line 266
      StackMap locals: com.sun.tools.example.debug.bdi.ThreadInfo int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* tinfo */
            iload 3 /* index */
            iconst_0
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.notifyCurrentFrameChanged:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;IZ)V
         6: .line 267
            return
        end local 3 // int index
        end local 2 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    7     1      t  Lcom/sun/jdi/ThreadReference;
            1    7     2  tinfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            2    7     3  index  I
    MethodParameters:
      Name  Flags
      t     

  private void notifyCurrentFrameChanged(com.sun.jdi.ThreadReference, int);
    descriptor: (Lcom/sun/jdi/ThreadReference;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.jdi.ThreadReference t
        start local 2 // int index
         0: .line 270
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.runtime:Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            aload 1 /* t */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.threadInfo:(Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
         1: .line 271
            iload 2 /* index */
            iconst_0
         2: .line 270
            invokevirtual com.sun.tools.example.debug.gui.ContextManager.notifyCurrentFrameChanged:(Lcom/sun/tools/example/debug/bdi/ThreadInfo;IZ)V
         3: .line 272
            return
        end local 2 // int index
        end local 1 // com.sun.jdi.ThreadReference t
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    4     1      t  Lcom/sun/jdi/ThreadReference;
            0    4     2  index  I
    MethodParameters:
       Name  Flags
      t      
      index  

  private void notifyCurrentFrameChanged(com.sun.tools.example.debug.bdi.ThreadInfo, int, boolean);
    descriptor: (Lcom/sun/tools/example/debug/bdi/ThreadInfo;IZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        start local 2 // int index
        start local 3 // boolean invalidate
         0: .line 276
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.contextListeners:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 4 /* l */
        start local 4 // java.util.ArrayList l
         1: .line 278
            new com.sun.tools.example.debug.gui.CurrentFrameChangedEvent
            dup
            aload 0 /* this */
            aload 1 /* tinfo */
            iload 2 /* index */
            iload 3 /* invalidate */
            invokespecial com.sun.tools.example.debug.gui.CurrentFrameChangedEvent.<init>:(Ljava/lang/Object;Lcom/sun/tools/example/debug/bdi/ThreadInfo;IZ)V
         2: .line 277
            astore 5 /* evt */
        start local 5 // com.sun.tools.example.debug.gui.CurrentFrameChangedEvent evt
         3: .line 279
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 7
         5: .line 280
      StackMap locals: java.util.ArrayList com.sun.tools.example.debug.gui.CurrentFrameChangedEvent int
      StackMap stack:
            aload 4 /* l */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.gui.ContextListener
            aload 5 /* evt */
            invokeinterface com.sun.tools.example.debug.gui.ContextListener.currentFrameChanged:(Lcom/sun/tools/example/debug/gui/CurrentFrameChangedEvent;)V
         6: .line 279
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            aload 4 /* l */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 5
        end local 6 // int i
         8: .line 282
            return
        end local 5 // com.sun.tools.example.debug.gui.CurrentFrameChangedEvent evt
        end local 4 // java.util.ArrayList l
        end local 3 // boolean invalidate
        end local 2 // int index
        end local 1 // com.sun.tools.example.debug.bdi.ThreadInfo tinfo
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    9     1       tinfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
            0    9     2       index  I
            0    9     3  invalidate  Z
            1    9     4           l  Ljava/util/ArrayList<Lcom/sun/tools/example/debug/gui/ContextListener;>;
            3    9     5         evt  Lcom/sun/tools/example/debug/gui/CurrentFrameChangedEvent;
            4    8     6           i  I
    MethodParameters:
            Name  Flags
      tinfo       
      index       
      invalidate  

  private java.lang.String processClasspathDefaults(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // java.lang.String javaArgs
         0: .line 335
            aload 1 /* javaArgs */
            ldc "-classpath "
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 10
         1: .line 336
            new java.lang.StringBuffer
            dup
            aload 1 /* javaArgs */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 2 /* munged */
        start local 2 // java.lang.StringBuffer munged
         2: .line 337
            aload 0 /* this */
            getfield com.sun.tools.example.debug.gui.ContextManager.classManager:Lcom/sun/tools/example/debug/gui/ClassManager;
            invokevirtual com.sun.tools.example.debug.gui.ClassManager.getClassPath:()Lcom/sun/tools/example/debug/gui/SearchPath;
            astore 3 /* classpath */
        start local 3 // com.sun.tools.example.debug.gui.SearchPath classpath
         3: .line 338
            aload 3 /* classpath */
            invokevirtual com.sun.tools.example.debug.gui.SearchPath.isEmpty:()Z
            ifeq 8
         4: .line 339
            ldc "env.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* envcp */
        start local 4 // java.lang.String envcp
         5: .line 340
            aload 4 /* envcp */
            ifnull 9
            aload 4 /* envcp */
            invokevirtual java.lang.String.length:()I
            ifle 9
         6: .line 341
            aload 2 /* munged */
            new java.lang.StringBuilder
            dup
            ldc " -classpath "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* envcp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 4 // java.lang.String envcp
         7: .line 343
            goto 9
         8: .line 344
      StackMap locals: java.lang.StringBuffer com.sun.tools.example.debug.gui.SearchPath
      StackMap stack:
            aload 2 /* munged */
            new java.lang.StringBuilder
            dup
            ldc " -classpath "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* classpath */
            invokevirtual com.sun.tools.example.debug.gui.SearchPath.asString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 346
      StackMap locals:
      StackMap stack:
            aload 2 /* munged */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // com.sun.tools.example.debug.gui.SearchPath classpath
        end local 2 // java.lang.StringBuffer munged
        10: .line 348
      StackMap locals:
      StackMap stack:
            aload 1 /* javaArgs */
            areturn
        end local 1 // java.lang.String javaArgs
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0   11     1   javaArgs  Ljava/lang/String;
            2   10     2     munged  Ljava/lang/StringBuffer;
            3   10     3  classpath  Lcom/sun/tools/example/debug/gui/SearchPath;
            5    7     4      envcp  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      javaArgs  

  private java.lang.String appendPath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.gui.ContextManager this
        start local 1 // java.lang.String path1
        start local 2 // java.lang.String path2
         0: .line 353
            aload 1 /* path1 */
            ifnull 1
            aload 1 /* path1 */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 354
      StackMap locals:
      StackMap stack:
            aload 2 /* path2 */
            ifnonnull 2
            ldc "."
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 2 /* path2 */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
         4: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* path2 */
            ifnull 5
            aload 2 /* path2 */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 356
      StackMap locals:
      StackMap stack:
            aload 1 /* path1 */
            areturn
         6: .line 358
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* path1 */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* path2 */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.String path2
        end local 1 // java.lang.String path1
        end local 0 // com.sun.tools.example.debug.gui.ContextManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/tools/example/debug/gui/ContextManager;
            0    7     1  path1  Ljava/lang/String;
            0    7     2  path2  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      path1  
      path2  
}
SourceFile: "ContextManager.java"
NestMembers:
  com.sun.tools.example.debug.gui.ContextManager$ContextManagerListener
InnerClasses:
  private ContextManagerListener = com.sun.tools.example.debug.gui.ContextManager$ContextManagerListener of com.sun.tools.example.debug.gui.ContextManager