public class com.sun.tools.example.debug.bdi.ExecutionManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.example.debug.bdi.ExecutionManager
  super_class: java.lang.Object
{
  private com.sun.tools.example.debug.bdi.Session session;
    descriptor: Lcom/sun/tools/example/debug/bdi/Session;
    flags: (0x0002) ACC_PRIVATE

  int traceMode;
    descriptor: I
    flags: (0x0000) 

  java.util.ArrayList<com.sun.tools.example.debug.bdi.SessionListener> sessionListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Lcom/sun/tools/example/debug/bdi/SessionListener;>;

  java.util.ArrayList<com.sun.tools.example.debug.bdi.SpecListener> specListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Lcom/sun/tools/example/debug/bdi/SpecListener;>;

  java.util.ArrayList<com.sun.tools.example.debug.event.JDIListener> jdiListeners;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0000) 
    Signature: Ljava/util/ArrayList<Lcom/sun/tools/example/debug/event/JDIListener;>;

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

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

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

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

  private java.util.List<com.sun.tools.example.debug.bdi.ThreadInfo> threadInfoList;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Lcom/sun/tools/example/debug/bdi/ThreadInfo;>;

  private java.util.HashMap<com.sun.jdi.ThreadReference, com.sun.tools.example.debug.bdi.ThreadInfo> threadInfoMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Lcom/sun/jdi/ThreadReference;Lcom/sun/tools/example/debug/bdi/ThreadInfo;>;

  private java.lang.Object inputLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

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

  private static java.lang.String newline;
    descriptor: Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 727
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            putstatic com.sun.tools.example.debug.bdi.ExecutionManager.newline:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.traceMode:I
         2: .line 67
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.sessionListeners:Ljava/util/ArrayList;
         3: .line 79
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.specListeners:Ljava/util/ArrayList;
         4: .line 91
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.jdiListeners:Ljava/util/ArrayList;
         5: .line 116
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.appEchoListeners:Ljava/util/ArrayList;
         6: .line 128
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.appOutputListeners:Ljava/util/ArrayList;
         7: .line 140
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.appErrorListeners:Ljava/util/ArrayList;
         8: .line 152
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnosticsListeners:Ljava/util/ArrayList;
         9: .line 590
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoList:Ljava/util/List;
        10: .line 592
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoMap:Ljava/util/HashMap;
        11: .line 681
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.inputLock:Ljava/lang/Object;
        12: .line 682
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.inputBuffer:Ljava/util/LinkedList;
        13: .line 697
            aload 0 /* this */
            new com.sun.tools.example.debug.bdi.ExecutionManager$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.bdi.ExecutionManager$1.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;)V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.appInput:Lcom/sun/tools/example/debug/bdi/InputListener;
        14: .line 738
            aload 0 /* this */
            new com.sun.tools.example.debug.bdi.ExecutionManager$2
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.bdi.ExecutionManager$2.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;)V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.appOutput:Lcom/sun/tools/example/debug/bdi/OutputListener;
        15: .line 748
            aload 0 /* this */
            new com.sun.tools.example.debug.bdi.ExecutionManager$3
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.bdi.ExecutionManager$3.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;)V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.appError:Lcom/sun/tools/example/debug/bdi/OutputListener;
        16: .line 758
            aload 0 /* this */
            new com.sun.tools.example.debug.bdi.ExecutionManager$4
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.bdi.ExecutionManager$4.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;)V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
        17: .line 770
            aload 0 /* this */
            new com.sun.tools.example.debug.bdi.EventRequestSpecList
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.example.debug.bdi.EventRequestSpecList.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;)V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
        18: .line 54
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;

  public void addSessionListener(com.sun.tools.example.debug.bdi.SessionListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/SessionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.SessionListener listener
         0: .line 70
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.sessionListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 71
            return
        end local 1 // com.sun.tools.example.debug.bdi.SessionListener listener
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  listener  Lcom/sun/tools/example/debug/bdi/SessionListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removeSessionListener(com.sun.tools.example.debug.bdi.SessionListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/SessionListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.SessionListener listener
         0: .line 74
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.sessionListeners:Ljava/util/ArrayList;
            aload 1 /* listener */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 75
            return
        end local 1 // com.sun.tools.example.debug.bdi.SessionListener listener
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  listener  Lcom/sun/tools/example/debug/bdi/SessionListener;
    MethodParameters:
          Name  Flags
      listener  

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

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

  public void addJDIListener(com.sun.tools.example.debug.event.JDIListener);
    descriptor: (Lcom/sun/tools/example/debug/event/JDIListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.event.JDIListener jl
         0: .line 97
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.jdiListeners:Ljava/util/ArrayList;
            aload 1 /* jl */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 98
            return
        end local 1 // com.sun.tools.example.debug.event.JDIListener jl
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1    jl  Lcom/sun/tools/example/debug/event/JDIListener;
    MethodParameters:
      Name  Flags
      jl    

  public void addJDIListener(int, com.sun.tools.example.debug.event.JDIListener);
    descriptor: (ILcom/sun/tools/example/debug/event/JDIListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // int index
        start local 2 // com.sun.tools.example.debug.event.JDIListener jl
         0: .line 104
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.jdiListeners:Ljava/util/ArrayList;
            iload 1 /* index */
            aload 2 /* jl */
            invokevirtual java.util.ArrayList.add:(ILjava/lang/Object;)V
         1: .line 105
            return
        end local 2 // com.sun.tools.example.debug.event.JDIListener jl
        end local 1 // int index
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  index  I
            0    2     2     jl  Lcom/sun/tools/example/debug/event/JDIListener;
    MethodParameters:
       Name  Flags
      index  
      jl     

  public void removeJDIListener(com.sun.tools.example.debug.event.JDIListener);
    descriptor: (Lcom/sun/tools/example/debug/event/JDIListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.event.JDIListener jl
         0: .line 111
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.jdiListeners:Ljava/util/ArrayList;
            aload 1 /* jl */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 112
            return
        end local 1 // com.sun.tools.example.debug.event.JDIListener jl
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1    jl  Lcom/sun/tools/example/debug/event/JDIListener;
    MethodParameters:
      Name  Flags
      jl    

  public void addApplicationEchoListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 119
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appEchoListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 120
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void removeApplicationEchoListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 123
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appEchoListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 124
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void addApplicationOutputListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 131
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appOutputListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 132
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void removeApplicationOutputListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 135
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appOutputListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 136
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void addApplicationErrorListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 143
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appErrorListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 144
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void removeApplicationErrorListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 147
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appErrorListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 148
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void addDiagnosticsListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 155
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnosticsListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         1: .line 156
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public void removeDiagnosticsListener(com.sun.tools.example.debug.bdi.OutputListener);
    descriptor: (Lcom/sun/tools/example/debug/bdi/OutputListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.OutputListener l
         0: .line 159
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnosticsListeners:Ljava/util/ArrayList;
            aload 1 /* l */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 160
            return
        end local 1 // com.sun.tools.example.debug.bdi.OutputListener l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1     l  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      l     

  public com.sun.jdi.VirtualMachine vm();
    descriptor: ()Lcom/sun/jdi/VirtualMachine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 166
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            getfield com.sun.tools.example.debug.bdi.Session.vm:Lcom/sun/jdi/VirtualMachine;
      StackMap locals:
      StackMap stack: com.sun.jdi.VirtualMachine
         2: areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;

  void ensureActiveSession();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 170
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            ifnonnull 2
         1: .line 171
            new com.sun.tools.example.debug.bdi.NoSessionException
            dup
            invokespecial com.sun.tools.example.debug.bdi.NoSessionException.<init>:()V
            athrow
         2: .line 173
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException

  public com.sun.jdi.request.EventRequestManager eventRequestManager();
    descriptor: ()Lcom/sun/jdi/request/EventRequestManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 176
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
      StackMap locals:
      StackMap stack: com.sun.jdi.request.EventRequestManager
         2: areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;

  public int getTraceMode(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // int mode
         0: .line 183
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.traceMode:I
            ireturn
        end local 1 // int mode
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    1     1  mode  I
    MethodParameters:
      Name  Flags
      mode  

  public void setTraceMode(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // int mode
         0: .line 190
            aload 0 /* this */
            iload 1 /* mode */
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.traceMode:I
         1: .line 191
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            ifnull 3
         2: .line 192
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iload 1 /* mode */
            invokevirtual com.sun.tools.example.debug.bdi.Session.setTraceMode:(I)V
         3: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int mode
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    4     1  mode  I
    MethodParameters:
      Name  Flags
      mode  

  public boolean isInterrupted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 201
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            getfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
            ireturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;

  public java.util.List<com.sun.jdi.ReferenceType> allClasses();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 210
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 211
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.allClasses:()Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    Signature: ()Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;

  public java.util.List<com.sun.jdi.ReferenceType> findClassesByName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String name
         0: .line 225
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 226
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            aload 1 /* name */
            invokeinterface com.sun.jdi.VirtualMachine.classesByName:(Ljava/lang/String;)Ljava/util/List;
            areturn
        end local 1 // java.lang.String name
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  name  Ljava/lang/String;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    Signature: (Ljava/lang/String;)Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;
    MethodParameters:
      Name  Flags
      name  

  public java.util.List<com.sun.jdi.ReferenceType> findClassesMatchingPattern(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String pattern
         0: .line 240
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 241
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.List result
         2: .line 242
            aload 1 /* pattern */
            ldc "*."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         3: .line 244
            aload 1 /* pattern */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* pattern */
         4: .line 245
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.allClasses:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager java.lang.String java.util.List top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.ReferenceType
            astore 3 /* type */
        start local 3 // com.sun.jdi.ReferenceType type
         6: .line 246
            aload 3 /* type */
            invokeinterface com.sun.jdi.ReferenceType.name:()Ljava/lang/String;
            aload 1 /* pattern */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 247
            aload 2 /* result */
            aload 3 /* type */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.sun.jdi.ReferenceType type
         8: .line 245
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 250
            aload 2 /* result */
            areturn
        10: .line 253
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager java.lang.String java.util.List
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            aload 1 /* pattern */
            invokeinterface com.sun.jdi.VirtualMachine.classesByName:(Ljava/lang/String;)Ljava/util/List;
            areturn
        end local 2 // java.util.List result
        end local 1 // java.lang.String pattern
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   11     1  pattern  Ljava/lang/String;
            2   11     2   result  Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;
            6    8     3     type  Lcom/sun/jdi/ReferenceType;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    Signature: (Ljava/lang/String;)Ljava/util/List<Lcom/sun/jdi/ReferenceType;>;
    MethodParameters:
         Name  Flags
      pattern  

  public java.util.List<com.sun.jdi.ThreadReference> allThreads();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 265
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 266
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.allThreads:()Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    Signature: ()Ljava/util/List<Lcom/sun/jdi/ThreadReference;>;

  public java.util.List<com.sun.jdi.ThreadGroupReference> topLevelThreadGroups();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 277
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 278
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.topLevelThreadGroups:()Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    Signature: ()Ljava/util/List<Lcom/sun/jdi/ThreadGroupReference;>;

  public com.sun.jdi.ThreadGroupReference systemThreadGroup();
    descriptor: ()Lcom/sun/jdi/ThreadGroupReference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 287
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 288
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.topLevelThreadGroups:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.jdi.ThreadGroupReference
            areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException

  public com.sun.jdi.Value evaluate(com.sun.jdi.StackFrame, java.lang.String);
    descriptor: (Lcom/sun/jdi/StackFrame;Ljava/lang/String;)Lcom/sun/jdi/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.StackFrame f
        start local 2 // java.lang.String expr
         0: .line 302
            aconst_null
            astore 3 /* frameGetter */
        start local 3 // com.sun.tools.example.debug.expr.ExpressionParser$GetFrame frameGetter
         1: .line 303
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         2: .line 304
            aload 1 /* f */
            ifnull 4
         3: .line 305
            new com.sun.tools.example.debug.bdi.ExecutionManager$5
            dup
            aload 0 /* this */
            aload 1 /* f */
            invokespecial com.sun.tools.example.debug.bdi.ExecutionManager$5.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/StackFrame;)V
            astore 3 /* frameGetter */
         4: .line 312
      StackMap locals: com.sun.tools.example.debug.expr.ExpressionParser$GetFrame
      StackMap stack:
            aload 2 /* expr */
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            aload 3 /* frameGetter */
            invokestatic com.sun.tools.example.debug.expr.ExpressionParser.evaluate:(Ljava/lang/String;Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/expr/ExpressionParser$GetFrame;)Lcom/sun/jdi/Value;
            areturn
        end local 3 // com.sun.tools.example.debug.expr.ExpressionParser$GetFrame frameGetter
        end local 2 // java.lang.String expr
        end local 1 // com.sun.jdi.StackFrame f
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    5     1            f  Lcom/sun/jdi/StackFrame;
            0    5     2         expr  Ljava/lang/String;
            1    5     3  frameGetter  Lcom/sun/tools/example/debug/expr/ExpressionParser$GetFrame;
    Exceptions:
      throws com.sun.tools.example.debug.expr.ParseException, com.sun.jdi.InvocationException, com.sun.jdi.InvalidTypeException, com.sun.jdi.ClassNotLoadedException, com.sun.tools.example.debug.bdi.NoSessionException, com.sun.jdi.IncompatibleThreadStateException
    MethodParameters:
      Name  Flags
      f     final
      expr  

  public void run(boolean, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=6, args_size=5
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // boolean suspended
        start local 2 // java.lang.String vmArgs
        start local 3 // java.lang.String className
        start local 4 // java.lang.String args
         0: .line 325
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.endSession:()V
         1: .line 329
            iload 1 /* suspended */
            ifeq 5
         2: .line 331
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* argList */
        start local 5 // java.util.List argList
         3: .line 332
            aload 5 /* argList */
            ldc "java.lang.String[]"
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 333
            aload 0 /* this */
            aload 3 /* className */
            ldc "main"
            aload 5 /* argList */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.createMethodBreakpoint:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
            pop
        end local 5 // java.util.List argList
         5: .line 336
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 3 /* className */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* args */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* cmdLine */
        start local 5 // java.lang.String cmdLine
         6: .line 338
            aload 0 /* this */
            new com.sun.tools.example.debug.bdi.ChildSession
            dup
            aload 0 /* this */
            aload 2 /* vmArgs */
            aload 5 /* cmdLine */
         7: .line 339
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appInput:Lcom/sun/tools/example/debug/bdi/InputListener;
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appOutput:Lcom/sun/tools/example/debug/bdi/OutputListener;
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appError:Lcom/sun/tools/example/debug/bdi/OutputListener;
         8: .line 340
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            invokespecial com.sun.tools.example.debug.bdi.ChildSession.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;Ljava/lang/String;Ljava/lang/String;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
         9: .line 338
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.startSession:(Lcom/sun/tools/example/debug/bdi/Session;)V
        10: .line 341
            return
        end local 5 // java.lang.String cmdLine
        end local 4 // java.lang.String args
        end local 3 // java.lang.String className
        end local 2 // java.lang.String vmArgs
        end local 1 // boolean suspended
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   11     1  suspended  Z
            0   11     2     vmArgs  Ljava/lang/String;
            0   11     3  className  Ljava/lang/String;
            0   11     4       args  Ljava/lang/String;
            3    5     5    argList  Ljava/util/List<Ljava/lang/String;>;
            6   11     5    cmdLine  Ljava/lang/String;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMLaunchFailureException
    MethodParameters:
           Name  Flags
      suspended  
      vmArgs     
      className  
      args       

  public void attach(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String portName
         0: .line 347
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.endSession:()V
         1: .line 359
            invokestatic com.sun.jdi.Bootstrap.virtualMachineManager:()Lcom/sun/jdi/VirtualMachineManager;
            astore 2 /* mgr */
        start local 2 // com.sun.jdi.VirtualMachineManager mgr
         2: .line 360
            aload 2 /* mgr */
            invokeinterface com.sun.jdi.VirtualMachineManager.attachingConnectors:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast com.sun.jdi.connect.AttachingConnector
            astore 3 /* connector */
        start local 3 // com.sun.jdi.connect.AttachingConnector connector
         3: .line 361
            aload 3 /* connector */
            invokeinterface com.sun.jdi.connect.AttachingConnector.defaultArguments:()Ljava/util/Map;
            astore 4 /* arguments */
        start local 4 // java.util.Map arguments
         4: .line 362
            aload 4 /* arguments */
            ldc "port"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.jdi.connect.Connector$Argument
            aload 1 /* portName */
            invokeinterface com.sun.jdi.connect.Connector$Argument.setValue:(Ljava/lang/String;)V
         5: .line 364
            aload 0 /* this */
            aload 3 /* connector */
            aload 4 /* arguments */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.internalAttach:(Lcom/sun/jdi/connect/AttachingConnector;Ljava/util/Map;)Lcom/sun/tools/example/debug/bdi/Session;
            astore 5 /* newSession */
        start local 5 // com.sun.tools.example.debug.bdi.Session newSession
         6: .line 365
            aload 5 /* newSession */
            ifnull 8
         7: .line 366
            aload 0 /* this */
            aload 5 /* newSession */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.startSession:(Lcom/sun/tools/example/debug/bdi/Session;)V
         8: .line 368
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager java.lang.String com.sun.jdi.VirtualMachineManager com.sun.jdi.connect.AttachingConnector java.util.Map com.sun.tools.example.debug.bdi.Session
      StackMap stack:
            return
        end local 5 // com.sun.tools.example.debug.bdi.Session newSession
        end local 4 // java.util.Map arguments
        end local 3 // com.sun.jdi.connect.AttachingConnector connector
        end local 2 // com.sun.jdi.VirtualMachineManager mgr
        end local 1 // java.lang.String portName
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    9     1    portName  Ljava/lang/String;
            2    9     2         mgr  Lcom/sun/jdi/VirtualMachineManager;
            3    9     3   connector  Lcom/sun/jdi/connect/AttachingConnector;
            4    9     4   arguments  Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
            6    9     5  newSession  Lcom/sun/tools/example/debug/bdi/Session;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMLaunchFailureException
    MethodParameters:
          Name  Flags
      portName  

  private com.sun.tools.example.debug.bdi.Session internalAttach(com.sun.jdi.connect.AttachingConnector, java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument>);
    descriptor: (Lcom/sun/jdi/connect/AttachingConnector;Ljava/util/Map;)Lcom/sun/tools/example/debug/bdi/Session;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.connect.AttachingConnector connector
        start local 2 // java.util.Map arguments
         0: .line 373
            aload 1 /* connector */
            aload 2 /* arguments */
            invokeinterface com.sun.jdi.connect.AttachingConnector.attach:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
            astore 3 /* vm */
        start local 3 // com.sun.jdi.VirtualMachine vm
         1: .line 374
            new com.sun.tools.example.debug.bdi.Session
            dup
            aload 3 /* vm */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            invokespecial com.sun.tools.example.debug.bdi.Session.<init>:(Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
         2: areturn
        end local 3 // com.sun.jdi.VirtualMachine vm
         3: .line 375
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
         4: .line 376
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            new java.lang.StringBuilder
            dup
            ldc "\n Unable to attach to target VM: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 377
            aload 3 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 376
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
        end local 3 // java.io.IOException ioe
         7: goto 12
         8: .line 378
      StackMap locals:
      StackMap stack: com.sun.jdi.connect.IllegalConnectorArgumentsException
            astore 3 /* icae */
        start local 3 // com.sun.jdi.connect.IllegalConnectorArgumentsException icae
         9: .line 379
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            new java.lang.StringBuilder
            dup
            ldc "\n Invalid connector arguments: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 380
            aload 3 /* icae */
            invokevirtual com.sun.jdi.connect.IllegalConnectorArgumentsException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 379
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
        end local 3 // com.sun.jdi.connect.IllegalConnectorArgumentsException icae
        12: .line 382
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Map arguments
        end local 1 // com.sun.jdi.connect.AttachingConnector connector
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   13     1  connector  Lcom/sun/jdi/connect/AttachingConnector;
            0   13     2  arguments  Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
            1    3     3         vm  Lcom/sun/jdi/VirtualMachine;
            4    7     3        ioe  Ljava/io/IOException;
            9   12     3       icae  Lcom/sun/jdi/connect/IllegalConnectorArgumentsException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
           0     2       8  Class com.sun.jdi.connect.IllegalConnectorArgumentsException
    Signature: (Lcom/sun/jdi/connect/AttachingConnector;Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;)Lcom/sun/tools/example/debug/bdi/Session;
    MethodParameters:
           Name  Flags
      connector  
      arguments  

  private com.sun.tools.example.debug.bdi.Session internalListen(com.sun.jdi.connect.ListeningConnector, java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument>);
    descriptor: (Lcom/sun/jdi/connect/ListeningConnector;Ljava/util/Map;)Lcom/sun/tools/example/debug/bdi/Session;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.connect.ListeningConnector connector
        start local 2 // java.util.Map arguments
         0: .line 388
            aload 1 /* connector */
            aload 2 /* arguments */
            invokeinterface com.sun.jdi.connect.ListeningConnector.accept:(Ljava/util/Map;)Lcom/sun/jdi/VirtualMachine;
            astore 3 /* vm */
        start local 3 // com.sun.jdi.VirtualMachine vm
         1: .line 389
            new com.sun.tools.example.debug.bdi.Session
            dup
            aload 3 /* vm */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            invokespecial com.sun.tools.example.debug.bdi.Session.<init>:(Lcom/sun/jdi/VirtualMachine;Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
         2: areturn
        end local 3 // com.sun.jdi.VirtualMachine vm
         3: .line 390
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
         4: .line 391
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
         5: .line 392
            new java.lang.StringBuilder
            dup
            ldc "\n Unable to accept connection to target VM: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 393
            aload 3 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 392
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 391
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
        end local 3 // java.io.IOException ioe
         9: goto 14
        10: .line 394
      StackMap locals:
      StackMap stack: com.sun.jdi.connect.IllegalConnectorArgumentsException
            astore 3 /* icae */
        start local 3 // com.sun.jdi.connect.IllegalConnectorArgumentsException icae
        11: .line 395
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            new java.lang.StringBuilder
            dup
            ldc "\n Invalid connector arguments: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        12: .line 396
            aload 3 /* icae */
            invokevirtual com.sun.jdi.connect.IllegalConnectorArgumentsException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 395
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
        end local 3 // com.sun.jdi.connect.IllegalConnectorArgumentsException icae
        14: .line 398
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Map arguments
        end local 1 // com.sun.jdi.connect.ListeningConnector connector
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   15     1  connector  Lcom/sun/jdi/connect/ListeningConnector;
            0   15     2  arguments  Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
            1    3     3         vm  Lcom/sun/jdi/VirtualMachine;
            4    9     3        ioe  Ljava/io/IOException;
           11   14     3       icae  Lcom/sun/jdi/connect/IllegalConnectorArgumentsException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
           0     2      10  Class com.sun.jdi.connect.IllegalConnectorArgumentsException
    Signature: (Lcom/sun/jdi/connect/ListeningConnector;Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;)Lcom/sun/tools/example/debug/bdi/Session;
    MethodParameters:
           Name  Flags
      connector  
      arguments  

  public boolean explictStart(com.sun.jdi.connect.Connector, java.util.Map<java.lang.String, com.sun.jdi.connect.Connector$Argument>);
    descriptor: (Lcom/sun/jdi/connect/Connector;Ljava/util/Map;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.connect.Connector connector
        start local 2 // java.util.Map arguments
         0: .line 407
            aconst_null
            astore 3 /* newSession */
        start local 3 // com.sun.tools.example.debug.bdi.Session newSession
         1: .line 409
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.endSession:()V
         2: .line 411
            aload 1 /* connector */
            instanceof com.sun.jdi.connect.LaunchingConnector
            ifeq 9
         3: .line 413
            new com.sun.tools.example.debug.bdi.ChildSession
            dup
            aload 0 /* this */
            aload 1 /* connector */
            checkcast com.sun.jdi.connect.LaunchingConnector
         4: .line 414
            aload 2 /* arguments */
         5: .line 415
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appInput:Lcom/sun/tools/example/debug/bdi/InputListener;
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appOutput:Lcom/sun/tools/example/debug/bdi/OutputListener;
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appError:Lcom/sun/tools/example/debug/bdi/OutputListener;
         6: .line 416
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
         7: .line 413
            invokespecial com.sun.tools.example.debug.bdi.ChildSession.<init>:(Lcom/sun/tools/example/debug/bdi/ExecutionManager;Lcom/sun/jdi/connect/LaunchingConnector;Ljava/util/Map;Lcom/sun/tools/example/debug/bdi/InputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;Lcom/sun/tools/example/debug/bdi/OutputListener;)V
            astore 3 /* newSession */
         8: .line 417
            goto 20
      StackMap locals: com.sun.tools.example.debug.bdi.Session
      StackMap stack:
         9: aload 1 /* connector */
            instanceof com.sun.jdi.connect.AttachingConnector
            ifeq 14
        10: .line 418
            aload 0 /* this */
            aload 1 /* connector */
            checkcast com.sun.jdi.connect.AttachingConnector
        11: .line 419
            aload 2 /* arguments */
        12: .line 418
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.internalAttach:(Lcom/sun/jdi/connect/AttachingConnector;Ljava/util/Map;)Lcom/sun/tools/example/debug/bdi/Session;
            astore 3 /* newSession */
        13: .line 420
            goto 20
      StackMap locals:
      StackMap stack:
        14: aload 1 /* connector */
            instanceof com.sun.jdi.connect.ListeningConnector
            ifeq 19
        15: .line 421
            aload 0 /* this */
            aload 1 /* connector */
            checkcast com.sun.jdi.connect.ListeningConnector
        16: .line 422
            aload 2 /* arguments */
        17: .line 421
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.internalListen:(Lcom/sun/jdi/connect/ListeningConnector;Ljava/util/Map;)Lcom/sun/tools/example/debug/bdi/Session;
            astore 3 /* newSession */
        18: .line 423
            goto 20
        19: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.diagnostics:Lcom/sun/tools/example/debug/bdi/OutputListener;
            new java.lang.StringBuilder
            dup
            ldc "\n Unknown connector: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* connector */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
        20: .line 426
      StackMap locals:
      StackMap stack:
            aload 3 /* newSession */
            ifnull 22
        21: .line 427
            aload 0 /* this */
            aload 3 /* newSession */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.startSession:(Lcom/sun/tools/example/debug/bdi/Session;)V
        22: .line 429
      StackMap locals:
      StackMap stack:
            aload 3 /* newSession */
            ifnull 23
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        23: iconst_0
            ireturn
        end local 3 // com.sun.tools.example.debug.bdi.Session newSession
        end local 2 // java.util.Map arguments
        end local 1 // com.sun.jdi.connect.Connector connector
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   24     1   connector  Lcom/sun/jdi/connect/Connector;
            0   24     2   arguments  Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;
            1   24     3  newSession  Lcom/sun/tools/example/debug/bdi/Session;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMLaunchFailureException
    Signature: (Lcom/sun/jdi/connect/Connector;Ljava/util/Map<Ljava/lang/String;Lcom/sun/jdi/connect/Connector$Argument;>;)Z
    MethodParameters:
           Name  Flags
      connector  
      arguments  

  public void detach();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 436
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 437
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.endSession:()V
         2: .line 438
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException

  private void startSession(com.sun.tools.example.debug.bdi.Session);
    descriptor: (Lcom/sun/tools/example/debug/bdi/Session;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.Session s
         0: .line 441
            aload 1 /* s */
            invokevirtual com.sun.tools.example.debug.bdi.Session.attach:()Z
            ifne 2
         1: .line 442
            new com.sun.tools.example.debug.bdi.VMLaunchFailureException
            dup
            invokespecial com.sun.tools.example.debug.bdi.VMLaunchFailureException.<init>:()V
            athrow
         2: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
         3: .line 445
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
            astore 2 /* em */
        start local 2 // com.sun.jdi.request.EventRequestManager em
         4: .line 446
            aload 2 /* em */
            invokeinterface com.sun.jdi.request.EventRequestManager.createClassPrepareRequest:()Lcom/sun/jdi/request/ClassPrepareRequest;
            astore 3 /* classPrepareRequest */
        start local 3 // com.sun.jdi.request.ClassPrepareRequest classPrepareRequest
         5: .line 451
            aload 3 /* classPrepareRequest */
            iconst_2
            invokeinterface com.sun.jdi.request.ClassPrepareRequest.setSuspendPolicy:(I)V
         6: .line 452
            aload 3 /* classPrepareRequest */
            invokeinterface com.sun.jdi.request.ClassPrepareRequest.enable:()V
         7: .line 453
            aload 2 /* em */
            invokeinterface com.sun.jdi.request.EventRequestManager.createClassUnloadRequest:()Lcom/sun/jdi/request/ClassUnloadRequest;
            astore 4 /* classUnloadRequest */
        start local 4 // com.sun.jdi.request.ClassUnloadRequest classUnloadRequest
         8: .line 454
            aload 4 /* classUnloadRequest */
            iconst_0
            invokeinterface com.sun.jdi.request.ClassUnloadRequest.setSuspendPolicy:(I)V
         9: .line 455
            aload 4 /* classUnloadRequest */
            invokeinterface com.sun.jdi.request.ClassUnloadRequest.enable:()V
        10: .line 456
            aload 2 /* em */
            invokeinterface com.sun.jdi.request.EventRequestManager.createThreadStartRequest:()Lcom/sun/jdi/request/ThreadStartRequest;
            astore 5 /* threadStartRequest */
        start local 5 // com.sun.jdi.request.ThreadStartRequest threadStartRequest
        11: .line 457
            aload 5 /* threadStartRequest */
            iconst_0
            invokeinterface com.sun.jdi.request.ThreadStartRequest.setSuspendPolicy:(I)V
        12: .line 458
            aload 5 /* threadStartRequest */
            invokeinterface com.sun.jdi.request.ThreadStartRequest.enable:()V
        13: .line 459
            aload 2 /* em */
            invokeinterface com.sun.jdi.request.EventRequestManager.createThreadDeathRequest:()Lcom/sun/jdi/request/ThreadDeathRequest;
            astore 6 /* threadDeathRequest */
        start local 6 // com.sun.jdi.request.ThreadDeathRequest threadDeathRequest
        14: .line 460
            aload 6 /* threadDeathRequest */
            iconst_0
            invokeinterface com.sun.jdi.request.ThreadDeathRequest.setSuspendPolicy:(I)V
        15: .line 461
            aload 6 /* threadDeathRequest */
            invokeinterface com.sun.jdi.request.ThreadDeathRequest.enable:()V
        16: .line 463
            aload 2 /* em */
            aconst_null
            iconst_0
            iconst_1
            invokeinterface com.sun.jdi.request.EventRequestManager.createExceptionRequest:(Lcom/sun/jdi/ReferenceType;ZZ)Lcom/sun/jdi/request/ExceptionRequest;
        17: .line 462
            astore 7 /* exceptionRequest */
        start local 7 // com.sun.jdi.request.ExceptionRequest exceptionRequest
        18: .line 464
            aload 7 /* exceptionRequest */
            iconst_2
            invokeinterface com.sun.jdi.request.ExceptionRequest.setSuspendPolicy:(I)V
        19: .line 465
            aload 7 /* exceptionRequest */
            invokeinterface com.sun.jdi.request.ExceptionRequest.enable:()V
        20: .line 466
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.validateThreadInfo:()V
        21: .line 467
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iconst_1
            putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
        22: .line 468
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.notifySessionStart:()V
        23: .line 469
            return
        end local 7 // com.sun.jdi.request.ExceptionRequest exceptionRequest
        end local 6 // com.sun.jdi.request.ThreadDeathRequest threadDeathRequest
        end local 5 // com.sun.jdi.request.ThreadStartRequest threadStartRequest
        end local 4 // com.sun.jdi.request.ClassUnloadRequest classUnloadRequest
        end local 3 // com.sun.jdi.request.ClassPrepareRequest classPrepareRequest
        end local 2 // com.sun.jdi.request.EventRequestManager em
        end local 1 // com.sun.tools.example.debug.bdi.Session s
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   24     1                    s  Lcom/sun/tools/example/debug/bdi/Session;
            4   24     2                   em  Lcom/sun/jdi/request/EventRequestManager;
            5   24     3  classPrepareRequest  Lcom/sun/jdi/request/ClassPrepareRequest;
            8   24     4   classUnloadRequest  Lcom/sun/jdi/request/ClassUnloadRequest;
           11   24     5   threadStartRequest  Lcom/sun/jdi/request/ThreadStartRequest;
           14   24     6   threadDeathRequest  Lcom/sun/jdi/request/ThreadDeathRequest;
           18   24     7     exceptionRequest  Lcom/sun/jdi/request/ExceptionRequest;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.VMLaunchFailureException
    MethodParameters:
      Name  Flags
      s     

  void endSession();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 472
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            ifnull 5
         1: .line 473
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            invokevirtual com.sun.tools.example.debug.bdi.Session.detach:()V
         2: .line 474
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
         3: .line 475
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.invalidateThreadInfo:()V
         4: .line 476
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.notifySessionDeath:()V
         5: .line 478
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;

  public void interrupt();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 485
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 486
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.suspend:()V
         2: .line 488
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.validateThreadInfo:()V
         3: .line 489
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iconst_1
            putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
         4: .line 490
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.notifyInterrupted:()V
         5: .line 491
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException

  public void go();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 498
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 499
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.invalidateThreadInfo:()V
         2: .line 500
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iconst_0
            putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
         3: .line 501
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.notifyContinued:()V
         4: .line 502
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.resume:()V
         5: .line 503
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException, com.sun.tools.example.debug.bdi.VMNotInterruptedException

  void clearPreviousStep(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 513
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
            astore 2 /* mgr */
        start local 2 // com.sun.jdi.request.EventRequestManager mgr
         1: .line 514
            aload 2 /* mgr */
            invokeinterface com.sun.jdi.request.EventRequestManager.stepRequests:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager com.sun.jdi.ThreadReference com.sun.jdi.request.EventRequestManager top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jdi.request.StepRequest
            astore 3 /* request */
        start local 3 // com.sun.jdi.request.StepRequest request
         3: .line 515
            aload 3 /* request */
            invokeinterface com.sun.jdi.request.StepRequest.thread:()Lcom/sun/jdi/ThreadReference;
            aload 1 /* thread */
            invokeinterface com.sun.jdi.ThreadReference.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 516
            aload 2 /* mgr */
            aload 3 /* request */
            invokeinterface com.sun.jdi.request.EventRequestManager.deleteEventRequest:(Lcom/sun/jdi/request/EventRequest;)V
         5: .line 517
            goto 7
        end local 3 // com.sun.jdi.request.StepRequest request
         6: .line 514
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         7: .line 520
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager com.sun.jdi.ThreadReference com.sun.jdi.request.EventRequestManager
      StackMap stack:
            return
        end local 2 // com.sun.jdi.request.EventRequestManager mgr
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    8     1   thread  Lcom/sun/jdi/ThreadReference;
            1    8     2      mgr  Lcom/sun/jdi/request/EventRequestManager;
            3    6     3  request  Lcom/sun/jdi/request/StepRequest;
    MethodParameters:
        Name  Flags
      thread  

  private void generalStep(com.sun.jdi.ThreadReference, int, int);
    descriptor: (Lcom/sun/jdi/ThreadReference;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
        start local 2 // int size
        start local 3 // int depth
         0: .line 524
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 525
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.invalidateThreadInfo:()V
         2: .line 526
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iconst_0
            putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
         3: .line 527
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.notifyContinued:()V
         4: .line 529
            aload 0 /* this */
            aload 1 /* thread */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.clearPreviousStep:(Lcom/sun/jdi/ThreadReference;)V
         5: .line 530
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.eventRequestManager:()Lcom/sun/jdi/request/EventRequestManager;
            astore 4 /* reqMgr */
        start local 4 // com.sun.jdi.request.EventRequestManager reqMgr
         6: .line 531
            aload 4 /* reqMgr */
            aload 1 /* thread */
         7: .line 532
            iload 2 /* size */
            iload 3 /* depth */
         8: .line 531
            invokeinterface com.sun.jdi.request.EventRequestManager.createStepRequest:(Lcom/sun/jdi/ThreadReference;II)Lcom/sun/jdi/request/StepRequest;
            astore 5 /* request */
        start local 5 // com.sun.jdi.request.StepRequest request
         9: .line 534
            aload 5 /* request */
            iconst_1
            invokeinterface com.sun.jdi.request.StepRequest.addCountFilter:(I)V
        10: .line 535
            aload 5 /* request */
            invokeinterface com.sun.jdi.request.StepRequest.enable:()V
        11: .line 536
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokeinterface com.sun.jdi.VirtualMachine.resume:()V
        12: .line 537
            return
        end local 5 // com.sun.jdi.request.StepRequest request
        end local 4 // com.sun.jdi.request.EventRequestManager reqMgr
        end local 3 // int depth
        end local 2 // int size
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   13     1   thread  Lcom/sun/jdi/ThreadReference;
            0   13     2     size  I
            0   13     3    depth  I
            6   13     4   reqMgr  Lcom/sun/jdi/request/EventRequestManager;
            9   13     5  request  Lcom/sun/jdi/request/StepRequest;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  
      size    
      depth   

  public void stepIntoInstruction(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.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 541
            aload 0 /* this */
            aload 1 /* thread */
            iconst_m1
            iconst_1
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.generalStep:(Lcom/sun/jdi/ThreadReference;II)V
         1: .line 542
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  

  public void stepOverInstruction(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.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 546
            aload 0 /* this */
            aload 1 /* thread */
            iconst_m1
            iconst_2
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.generalStep:(Lcom/sun/jdi/ThreadReference;II)V
         1: .line 547
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  

  public void stepIntoLine(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.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 552
            aload 0 /* this */
            aload 1 /* thread */
            bipush -2
            iconst_1
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.generalStep:(Lcom/sun/jdi/ThreadReference;II)V
         1: .line 553
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException, com.sun.jdi.AbsentInformationException
    MethodParameters:
        Name  Flags
      thread  

  public void stepOverLine(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.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 558
            aload 0 /* this */
            aload 1 /* thread */
            bipush -2
            iconst_2
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.generalStep:(Lcom/sun/jdi/ThreadReference;II)V
         1: .line 559
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException, com.sun.jdi.AbsentInformationException
    MethodParameters:
        Name  Flags
      thread  

  public void stepOut(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.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 563
            aload 0 /* this */
            aload 1 /* thread */
            iconst_m1
            iconst_3
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.generalStep:(Lcom/sun/jdi/ThreadReference;II)V
         1: .line 564
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  

  public void suspendThread(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 571
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 572
            aload 1 /* thread */
            invokeinterface com.sun.jdi.ThreadReference.suspend:()V
         2: .line 573
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    3     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  

  public void resumeThread(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 576
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 577
            aload 1 /* thread */
            invokeinterface com.sun.jdi.ThreadReference.resume:()V
         2: .line 578
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    3     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  

  public void stopThread(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 581
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.ensureActiveSession:()V
         1: .line 584
            return
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  thread  Lcom/sun/jdi/ThreadReference;
    Exceptions:
      throws com.sun.tools.example.debug.bdi.NoSessionException
    MethodParameters:
        Name  Flags
      thread  

  public com.sun.tools.example.debug.bdi.ThreadInfo threadInfo(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)Lcom/sun/tools/example/debug/bdi/ThreadInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 595
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            ifnull 1
            aload 1 /* thread */
            ifnonnull 2
         1: .line 596
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoMap:Ljava/util/HashMap;
            aload 1 /* thread */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.ThreadInfo
            astore 2 /* info */
        start local 2 // com.sun.tools.example.debug.bdi.ThreadInfo info
         3: .line 599
            aload 2 /* info */
            ifnonnull 9
         4: .line 602
            new com.sun.tools.example.debug.bdi.ThreadInfo
            dup
            aload 1 /* thread */
            invokespecial com.sun.tools.example.debug.bdi.ThreadInfo.<init>:(Lcom/sun/jdi/ThreadReference;)V
            astore 2 /* info */
         5: .line 603
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            getfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
            ifeq 7
         6: .line 604
            aload 2 /* info */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.validate:()V
         7: .line 606
      StackMap locals: com.sun.tools.example.debug.bdi.ThreadInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoList:Ljava/util/List;
            aload 2 /* info */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 607
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoMap:Ljava/util/HashMap;
            aload 1 /* thread */
            aload 2 /* info */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 609
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            areturn
        end local 2 // com.sun.tools.example.debug.bdi.ThreadInfo info
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0   10     1  thread  Lcom/sun/jdi/ThreadReference;
            3   10     2    info  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
    MethodParameters:
        Name  Flags
      thread  

  void validateThreadInfo();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 613
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iconst_1
            putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
         1: .line 614
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.ThreadInfo
            astore 1 /* threadInfo */
        start local 1 // com.sun.tools.example.debug.bdi.ThreadInfo threadInfo
         3: .line 615
            aload 1 /* threadInfo */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.validate:()V
        end local 1 // com.sun.tools.example.debug.bdi.ThreadInfo threadInfo
         4: .line 614
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 617
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            3    4     1  threadInfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;

  private void invalidateThreadInfo();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 620
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            ifnull 6
         1: .line 621
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.session:Lcom/sun/tools/example/debug/bdi/Session;
            iconst_0
            putfield com.sun.tools.example.debug.bdi.Session.interrupted:Z
         2: .line 622
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 5
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager top java.util.Iterator
      StackMap stack:
         3: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.ThreadInfo
            astore 1 /* threadInfo */
        start local 1 // com.sun.tools.example.debug.bdi.ThreadInfo threadInfo
         4: .line 623
            aload 1 /* threadInfo */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.invalidate:()V
        end local 1 // com.sun.tools.example.debug.bdi.ThreadInfo threadInfo
         5: .line 622
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 626
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager
      StackMap stack:
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            4    5     1  threadInfo  Lcom/sun/tools/example/debug/bdi/ThreadInfo;

  void removeThreadInfo(com.sun.jdi.ThreadReference);
    descriptor: (Lcom/sun/jdi/ThreadReference;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ThreadReference thread
         0: .line 629
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoMap:Ljava/util/HashMap;
            aload 1 /* thread */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.ThreadInfo
            astore 2 /* info */
        start local 2 // com.sun.tools.example.debug.bdi.ThreadInfo info
         1: .line 630
            aload 2 /* info */
            ifnull 5
         2: .line 631
            aload 2 /* info */
            invokevirtual com.sun.tools.example.debug.bdi.ThreadInfo.invalidate:()V
         3: .line 632
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoMap:Ljava/util/HashMap;
            aload 1 /* thread */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 633
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.threadInfoList:Ljava/util/List;
            aload 2 /* info */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 635
      StackMap locals: com.sun.tools.example.debug.bdi.ThreadInfo
      StackMap stack:
            return
        end local 2 // com.sun.tools.example.debug.bdi.ThreadInfo info
        end local 1 // com.sun.jdi.ThreadReference thread
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    6     1  thread  Lcom/sun/jdi/ThreadReference;
            1    6     2    info  Lcom/sun/tools/example/debug/bdi/ThreadInfo;
    MethodParameters:
        Name  Flags
      thread  

  private void notifyInterrupted();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 642
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.sessionListeners:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* l */
        start local 1 // java.util.ArrayList l
         1: .line 643
            new java.util.EventObject
            dup
            aload 0 /* this */
            invokespecial java.util.EventObject.<init>:(Ljava/lang/Object;)V
            astore 2 /* evt */
        start local 2 // java.util.EventObject evt
         2: .line 644
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 645
      StackMap locals: java.util.ArrayList java.util.EventObject int
      StackMap stack:
            aload 1 /* l */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.SessionListener
            aload 2 /* evt */
            invokeinterface com.sun.tools.example.debug.bdi.SessionListener.sessionInterrupt:(Ljava/util/EventObject;)V
         5: .line 644
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* l */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 3 // int i
         7: .line 647
            return
        end local 2 // java.util.EventObject evt
        end local 1 // java.util.ArrayList l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            1    8     1     l  Ljava/util/ArrayList<Lcom/sun/tools/example/debug/bdi/SessionListener;>;
            2    8     2   evt  Ljava/util/EventObject;
            3    7     3     i  I

  private void notifyContinued();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 650
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.sessionListeners:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* l */
        start local 1 // java.util.ArrayList l
         1: .line 651
            new java.util.EventObject
            dup
            aload 0 /* this */
            invokespecial java.util.EventObject.<init>:(Ljava/lang/Object;)V
            astore 2 /* evt */
        start local 2 // java.util.EventObject evt
         2: .line 652
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 653
      StackMap locals: java.util.ArrayList java.util.EventObject int
      StackMap stack:
            aload 1 /* l */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.SessionListener
            aload 2 /* evt */
            invokeinterface com.sun.tools.example.debug.bdi.SessionListener.sessionContinue:(Ljava/util/EventObject;)V
         5: .line 652
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* l */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 3 // int i
         7: .line 655
            return
        end local 2 // java.util.EventObject evt
        end local 1 // java.util.ArrayList l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            1    8     1     l  Ljava/util/ArrayList<Lcom/sun/tools/example/debug/bdi/SessionListener;>;
            2    8     2   evt  Ljava/util/EventObject;
            3    7     3     i  I

  private void notifySessionStart();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 658
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.sessionListeners:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 1 /* l */
        start local 1 // java.util.ArrayList l
         1: .line 659
            new java.util.EventObject
            dup
            aload 0 /* this */
            invokespecial java.util.EventObject.<init>:(Ljava/lang/Object;)V
            astore 2 /* evt */
        start local 2 // java.util.EventObject evt
         2: .line 660
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 661
      StackMap locals: java.util.ArrayList java.util.EventObject int
      StackMap stack:
            aload 1 /* l */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.SessionListener
            aload 2 /* evt */
            invokeinterface com.sun.tools.example.debug.bdi.SessionListener.sessionStart:(Ljava/util/EventObject;)V
         5: .line 660
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* l */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 4
        end local 3 // int i
         7: .line 663
            return
        end local 2 // java.util.EventObject evt
        end local 1 // java.util.ArrayList l
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            1    8     1     l  Ljava/util/ArrayList<Lcom/sun/tools/example/debug/bdi/SessionListener;>;
            2    8     2   evt  Ljava/util/EventObject;
            3    7     3     i  I

  private void notifySessionDeath();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 673
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;

  private void resetInputBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 685
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.inputLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 686
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield com.sun.tools.example.debug.bdi.ExecutionManager.inputBuffer:Ljava/util/LinkedList;
         2: .line 685
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 688
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public void sendLineToApplication(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String line
         0: .line 691
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.inputLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 692
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.inputBuffer:Ljava/util/LinkedList;
            aload 1 /* line */
            invokevirtual java.util.LinkedList.addFirst:(Ljava/lang/Object;)V
         2: .line 693
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.inputLock:Ljava/lang/Object;
            invokevirtual java.lang.Object.notifyAll:()V
         3: .line 691
            aload 2
            monitorexit
         4: goto 7
      StackMap locals: com.sun.tools.example.debug.bdi.ExecutionManager java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 695
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String line
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    8     1  line  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
      Name  Flags
      line  

  private void echoInputLine(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String line
         0: .line 730
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.appEchoListeners:Ljava/util/ArrayList;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* l */
        start local 2 // java.util.ArrayList l
         1: .line 731
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 732
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            aload 2 /* l */
            iload 3 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.sun.tools.example.debug.bdi.OutputListener
            astore 4 /* ol */
        start local 4 // com.sun.tools.example.debug.bdi.OutputListener ol
         4: .line 733
            aload 4 /* ol */
            aload 1 /* line */
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
         5: .line 734
            aload 4 /* ol */
            getstatic com.sun.tools.example.debug.bdi.ExecutionManager.newline:Ljava/lang/String;
            invokeinterface com.sun.tools.example.debug.bdi.OutputListener.putString:(Ljava/lang/String;)V
        end local 4 // com.sun.tools.example.debug.bdi.OutputListener ol
         6: .line 731
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 2 /* l */
            invokevirtual java.util.ArrayList.size:()I
            if_icmplt 3
        end local 3 // int i
         8: .line 736
            return
        end local 2 // java.util.ArrayList l
        end local 1 // java.lang.String line
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    9     1  line  Ljava/lang/String;
            1    9     2     l  Ljava/util/ArrayList<Lcom/sun/tools/example/debug/bdi/OutputListener;>;
            2    8     3     i  I
            4    6     4    ol  Lcom/sun/tools/example/debug/bdi/OutputListener;
    MethodParameters:
      Name  Flags
      line  

  public com.sun.tools.example.debug.bdi.BreakpointSpec createSourceLineBreakpoint(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String sourceName
        start local 2 // int line
         0: .line 774
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* sourceName */
            iload 2 /* line */
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.createSourceLineBreakpoint:(Ljava/lang/String;I)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
            areturn
        end local 2 // int line
        end local 1 // java.lang.String sourceName
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    1     1  sourceName  Ljava/lang/String;
            0    1     2        line  I
    MethodParameters:
            Name  Flags
      sourceName  
      line        

  public com.sun.tools.example.debug.bdi.BreakpointSpec createClassLineBreakpoint(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String classPattern
        start local 2 // int line
         0: .line 779
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* classPattern */
            iload 2 /* line */
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.createClassLineBreakpoint:(Ljava/lang/String;I)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
            areturn
        end local 2 // int line
        end local 1 // java.lang.String classPattern
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    1     1  classPattern  Ljava/lang/String;
            0    1     2          line  I
    MethodParameters:
              Name  Flags
      classPattern  
      line          

  public com.sun.tools.example.debug.bdi.BreakpointSpec createMethodBreakpoint(java.lang.String, java.lang.String, java.util.List<java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String classPattern
        start local 2 // java.lang.String methodId
        start local 3 // java.util.List methodArgs
         0: .line 785
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* classPattern */
         1: .line 786
            aload 2 /* methodId */
            aload 3 /* methodArgs */
         2: .line 785
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.createMethodBreakpoint:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
            areturn
        end local 3 // java.util.List methodArgs
        end local 2 // java.lang.String methodId
        end local 1 // java.lang.String classPattern
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    3     1  classPattern  Ljava/lang/String;
            0    3     2      methodId  Ljava/lang/String;
            0    3     3    methodArgs  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Lcom/sun/tools/example/debug/bdi/BreakpointSpec;
    MethodParameters:
              Name  Flags
      classPattern  
      methodId      
      methodArgs    

  public com.sun.tools.example.debug.bdi.ExceptionSpec createExceptionIntercept(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)Lcom/sun/tools/example/debug/bdi/ExceptionSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String classPattern
        start local 2 // boolean notifyCaught
        start local 3 // boolean notifyUncaught
         0: .line 793
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* classPattern */
         1: .line 794
            iload 2 /* notifyCaught */
         2: .line 795
            iload 3 /* notifyUncaught */
         3: .line 793
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.createExceptionIntercept:(Ljava/lang/String;ZZ)Lcom/sun/tools/example/debug/bdi/ExceptionSpec;
            areturn
        end local 3 // boolean notifyUncaught
        end local 2 // boolean notifyCaught
        end local 1 // java.lang.String classPattern
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    4     1    classPattern  Ljava/lang/String;
            0    4     2    notifyCaught  Z
            0    4     3  notifyUncaught  Z
    MethodParameters:
                Name  Flags
      classPattern    
      notifyCaught    
      notifyUncaught  

  public com.sun.tools.example.debug.bdi.AccessWatchpointSpec createAccessWatchpoint(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/example/debug/bdi/AccessWatchpointSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String classPattern
        start local 2 // java.lang.String fieldId
         0: .line 800
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* classPattern */
            aload 2 /* fieldId */
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.createAccessWatchpoint:(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/example/debug/bdi/AccessWatchpointSpec;
            areturn
        end local 2 // java.lang.String fieldId
        end local 1 // java.lang.String classPattern
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    1     1  classPattern  Ljava/lang/String;
            0    1     2       fieldId  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      classPattern  
      fieldId       

  public com.sun.tools.example.debug.bdi.ModificationWatchpointSpec createModificationWatchpoint(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/example/debug/bdi/ModificationWatchpointSpec;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // java.lang.String classPattern
        start local 2 // java.lang.String fieldId
         0: .line 805
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* classPattern */
         1: .line 806
            aload 2 /* fieldId */
         2: .line 805
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.createModificationWatchpoint:(Ljava/lang/String;Ljava/lang/String;)Lcom/sun/tools/example/debug/bdi/ModificationWatchpointSpec;
            areturn
        end local 2 // java.lang.String fieldId
        end local 1 // java.lang.String classPattern
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    3     1  classPattern  Ljava/lang/String;
            0    3     2       fieldId  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      classPattern  
      fieldId       

  public void delete(com.sun.tools.example.debug.bdi.EventRequestSpec);
    descriptor: (Lcom/sun/tools/example/debug/bdi/EventRequestSpec;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.EventRequestSpec spec
         0: .line 810
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* spec */
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.delete:(Lcom/sun/tools/example/debug/bdi/EventRequestSpec;)V
         1: .line 811
            return
        end local 1 // com.sun.tools.example.debug.bdi.EventRequestSpec spec
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  spec  Lcom/sun/tools/example/debug/bdi/EventRequestSpec;
    MethodParameters:
      Name  Flags
      spec  

  void resolve(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.bdi.ExecutionManager this
        start local 1 // com.sun.jdi.ReferenceType refType
         0: .line 814
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* refType */
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.resolve:(Lcom/sun/jdi/ReferenceType;)V
         1: .line 815
            return
        end local 1 // com.sun.jdi.ReferenceType refType
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  refType  Lcom/sun/jdi/ReferenceType;
    MethodParameters:
         Name  Flags
      refType  

  public void install(com.sun.tools.example.debug.bdi.EventRequestSpec);
    descriptor: (Lcom/sun/tools/example/debug/bdi/EventRequestSpec;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
        start local 1 // com.sun.tools.example.debug.bdi.EventRequestSpec spec
         0: .line 818
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            aload 1 /* spec */
            aload 0 /* this */
            invokevirtual com.sun.tools.example.debug.bdi.ExecutionManager.vm:()Lcom/sun/jdi/VirtualMachine;
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.install:(Lcom/sun/tools/example/debug/bdi/EventRequestSpec;Lcom/sun/jdi/VirtualMachine;)V
         1: .line 819
            return
        end local 1 // com.sun.tools.example.debug.bdi.EventRequestSpec spec
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
            0    2     1  spec  Lcom/sun/tools/example/debug/bdi/EventRequestSpec;
    MethodParameters:
      Name  Flags
      spec  

  public java.util.List<com.sun.tools.example.debug.bdi.EventRequestSpec> eventRequestSpecs();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
         0: .line 822
            aload 0 /* this */
            getfield com.sun.tools.example.debug.bdi.ExecutionManager.specList:Lcom/sun/tools/example/debug/bdi/EventRequestSpecList;
            invokevirtual com.sun.tools.example.debug.bdi.EventRequestSpecList.eventRequestSpecs:()Ljava/util/List;
            areturn
        end local 0 // com.sun.tools.example.debug.bdi.ExecutionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/example/debug/bdi/ExecutionManager;
    Signature: ()Ljava/util/List<Lcom/sun/tools/example/debug/bdi/EventRequestSpec;>;
}
SourceFile: "ExecutionManager.java"
NestMembers:
  com.sun.tools.example.debug.bdi.ExecutionManager$1  com.sun.tools.example.debug.bdi.ExecutionManager$1$1  com.sun.tools.example.debug.bdi.ExecutionManager$2  com.sun.tools.example.debug.bdi.ExecutionManager$3  com.sun.tools.example.debug.bdi.ExecutionManager$4  com.sun.tools.example.debug.bdi.ExecutionManager$5
InnerClasses:
  public abstract Argument = com.sun.jdi.connect.Connector$Argument of com.sun.jdi.connect.Connector
  com.sun.tools.example.debug.bdi.ExecutionManager$1
  com.sun.tools.example.debug.bdi.ExecutionManager$2
  com.sun.tools.example.debug.bdi.ExecutionManager$3
  com.sun.tools.example.debug.bdi.ExecutionManager$4
  com.sun.tools.example.debug.bdi.ExecutionManager$5
  public abstract GetFrame = com.sun.tools.example.debug.expr.ExpressionParser$GetFrame of com.sun.tools.example.debug.expr.ExpressionParser