class com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups
  super_class: java.lang.Object
{
  static final int COMMAND;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  final com.sun.tools.jdi.ThreadGroupReferenceImpl[] groups;
    descriptor: [Lcom/sun/tools/jdi/ThreadGroupReferenceImpl;
    flags: (0x0010) ACC_FINAL

  static com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups process(com.sun.tools.jdi.VirtualMachineImpl);
    descriptor: (Lcom/sun/tools/jdi/VirtualMachineImpl;)Lcom/sun/tools/jdi/JDWP$VirtualMachine$TopLevelThreadGroups;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.jdi.VirtualMachineImpl vm
         0: .line 357
            aload 0 /* vm */
            invokestatic com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.enqueueCommand:(Lcom/sun/tools/jdi/VirtualMachineImpl;)Lcom/sun/tools/jdi/PacketStream;
            astore 1 /* ps */
        start local 1 // com.sun.tools.jdi.PacketStream ps
         1: .line 358
            aload 0 /* vm */
            aload 1 /* ps */
            invokestatic com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.waitForReply:(Lcom/sun/tools/jdi/VirtualMachineImpl;Lcom/sun/tools/jdi/PacketStream;)Lcom/sun/tools/jdi/JDWP$VirtualMachine$TopLevelThreadGroups;
            areturn
        end local 1 // com.sun.tools.jdi.PacketStream ps
        end local 0 // com.sun.tools.jdi.VirtualMachineImpl vm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    vm  Lcom/sun/tools/jdi/VirtualMachineImpl;
            1    2     1    ps  Lcom/sun/tools/jdi/PacketStream;
    Exceptions:
      throws com.sun.tools.jdi.JDWPException
    MethodParameters:
      Name  Flags
      vm    

  static com.sun.tools.jdi.PacketStream enqueueCommand(com.sun.tools.jdi.VirtualMachineImpl);
    descriptor: (Lcom/sun/tools/jdi/VirtualMachineImpl;)Lcom/sun/tools/jdi/PacketStream;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.sun.tools.jdi.VirtualMachineImpl vm
         0: .line 362
            new com.sun.tools.jdi.PacketStream
            dup
            aload 0 /* vm */
            iconst_1
            iconst_5
            invokespecial com.sun.tools.jdi.PacketStream.<init>:(Lcom/sun/tools/jdi/VirtualMachineImpl;II)V
            astore 1 /* ps */
        start local 1 // com.sun.tools.jdi.PacketStream ps
         1: .line 363
            aload 0 /* vm */
            getfield com.sun.tools.jdi.VirtualMachineImpl.traceFlags:I
            iconst_1
            iand
            ifeq 5
         2: .line 364
            aload 0 /* vm */
            new java.lang.StringBuilder
            dup
            ldc "Sending Command(id="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.id:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") JDWP.VirtualMachine.TopLevelThreadGroups"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.flags:S
            ifeq 3
            new java.lang.StringBuilder
            dup
            ldc ", FLAGS="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.flags:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 4
      StackMap locals: com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl java.lang.StringBuilder
         3: ldc ""
      StackMap locals: com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printTrace:(Ljava/lang/String;)V
         5: .line 366
      StackMap locals:
      StackMap stack:
            aload 1 /* ps */
            invokevirtual com.sun.tools.jdi.PacketStream.send:()V
         6: .line 367
            aload 1 /* ps */
            areturn
        end local 1 // com.sun.tools.jdi.PacketStream ps
        end local 0 // com.sun.tools.jdi.VirtualMachineImpl vm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    vm  Lcom/sun/tools/jdi/VirtualMachineImpl;
            1    7     1    ps  Lcom/sun/tools/jdi/PacketStream;
    MethodParameters:
      Name  Flags
      vm    

  static com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups waitForReply(com.sun.tools.jdi.VirtualMachineImpl, com.sun.tools.jdi.PacketStream);
    descriptor: (Lcom/sun/tools/jdi/VirtualMachineImpl;Lcom/sun/tools/jdi/PacketStream;)Lcom/sun/tools/jdi/JDWP$VirtualMachine$TopLevelThreadGroups;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.jdi.VirtualMachineImpl vm
        start local 1 // com.sun.tools.jdi.PacketStream ps
         0: .line 372
            aload 1 /* ps */
            invokevirtual com.sun.tools.jdi.PacketStream.waitForReply:()V
         1: .line 373
            new com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups
            dup
            aload 0 /* vm */
            aload 1 /* ps */
            invokespecial com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.<init>:(Lcom/sun/tools/jdi/VirtualMachineImpl;Lcom/sun/tools/jdi/PacketStream;)V
            areturn
        end local 1 // com.sun.tools.jdi.PacketStream ps
        end local 0 // com.sun.tools.jdi.VirtualMachineImpl vm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    vm  Lcom/sun/tools/jdi/VirtualMachineImpl;
            0    2     1    ps  Lcom/sun/tools/jdi/PacketStream;
    Exceptions:
      throws com.sun.tools.jdi.JDWPException
    MethodParameters:
      Name  Flags
      vm    
      ps    

  private void <init>(com.sun.tools.jdi.VirtualMachineImpl, com.sun.tools.jdi.PacketStream);
    descriptor: (Lcom/sun/tools/jdi/VirtualMachineImpl;Lcom/sun/tools/jdi/PacketStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups this
        start local 1 // com.sun.tools.jdi.VirtualMachineImpl vm
        start local 2 // com.sun.tools.jdi.PacketStream ps
         0: .line 382
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 383
            aload 1 /* vm */
            getfield com.sun.tools.jdi.VirtualMachineImpl.traceReceives:Z
            ifeq 7
         2: .line 384
            aload 1 /* vm */
            new java.lang.StringBuilder
            dup
            ldc "Receiving Command(id="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.id:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") JDWP.VirtualMachine.TopLevelThreadGroups"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.flags:S
            ifeq 3
            new java.lang.StringBuilder
            dup
            ldc ", FLAGS="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.flags:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 4
      StackMap locals: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl java.lang.StringBuilder
         3: ldc ""
      StackMap locals: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.errorCode:S
            ifeq 5
            new java.lang.StringBuilder
            dup
            ldc ", ERROR CODE="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* ps */
            getfield com.sun.tools.jdi.PacketStream.pkt:Lcom/sun/tools/jdi/Packet;
            getfield com.sun.tools.jdi.Packet.errorCode:S
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 6
      StackMap locals: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl java.lang.StringBuilder
         5: ldc ""
      StackMap locals: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl java.lang.StringBuilder java.lang.String
         6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printTrace:(Ljava/lang/String;)V
         7: .line 386
      StackMap locals:
      StackMap stack:
            aload 1 /* vm */
            getfield com.sun.tools.jdi.VirtualMachineImpl.traceReceives:Z
            ifeq 9
         8: .line 387
            aload 1 /* vm */
            iconst_4
            ldc "groups(ThreadGroupReferenceImpl[]): "
            invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printReceiveTrace:(ILjava/lang/String;)V
         9: .line 389
      StackMap locals:
      StackMap stack:
            aload 2 /* ps */
            invokevirtual com.sun.tools.jdi.PacketStream.readInt:()I
            istore 3 /* groupsCount */
        start local 3 // int groupsCount
        10: .line 390
            aload 0 /* this */
            iload 3 /* groupsCount */
            anewarray com.sun.tools.jdi.ThreadGroupReferenceImpl
            putfield com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.groups:[Lcom/sun/tools/jdi/ThreadGroupReferenceImpl;
        11: .line 391
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 19
        13: .line 392
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.groups:[Lcom/sun/tools/jdi/ThreadGroupReferenceImpl;
            iload 4 /* i */
            aload 2 /* ps */
            invokevirtual com.sun.tools.jdi.PacketStream.readThreadGroupReference:()Lcom/sun/tools/jdi/ThreadGroupReferenceImpl;
            aastore
        14: .line 393
            aload 1 /* vm */
            getfield com.sun.tools.jdi.VirtualMachineImpl.traceReceives:Z
            ifeq 18
        15: .line 394
            aload 1 /* vm */
            iconst_5
            new java.lang.StringBuilder
            dup
            ldc "groups[i](ThreadGroupReferenceImpl): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.groups:[Lcom/sun/tools/jdi/ThreadGroupReferenceImpl;
            iload 4 /* i */
            aaload
            ifnonnull 16
            ldc "NULL"
            goto 17
      StackMap locals: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream int int
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl int java.lang.StringBuilder
        16: new java.lang.StringBuilder
            dup
            ldc "ref="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups.groups:[Lcom/sun/tools/jdi/ThreadGroupReferenceImpl;
            iload 4 /* i */
            aaload
            invokevirtual com.sun.tools.jdi.ThreadGroupReferenceImpl.ref:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups com.sun.tools.jdi.VirtualMachineImpl com.sun.tools.jdi.PacketStream int int
      StackMap stack: com.sun.tools.jdi.VirtualMachineImpl int java.lang.StringBuilder java.lang.String
        17: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.sun.tools.jdi.VirtualMachineImpl.printReceiveTrace:(ILjava/lang/String;)V
        18: .line 391
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 3 /* groupsCount */
            if_icmplt 13
        end local 4 // int i
        20: .line 397
            return
        end local 3 // int groupsCount
        end local 2 // com.sun.tools.jdi.PacketStream ps
        end local 1 // com.sun.tools.jdi.VirtualMachineImpl vm
        end local 0 // com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lcom/sun/tools/jdi/JDWP$VirtualMachine$TopLevelThreadGroups;
            0   21     1           vm  Lcom/sun/tools/jdi/VirtualMachineImpl;
            0   21     2           ps  Lcom/sun/tools/jdi/PacketStream;
           10   21     3  groupsCount  I
           12   20     4            i  I
    MethodParameters:
      Name  Flags
      vm    
      ps    
}
SourceFile: "JDWP.java"
NestHost: com.sun.tools.jdi.JDWP
InnerClasses:
  VirtualMachine = com.sun.tools.jdi.JDWP$VirtualMachine of com.sun.tools.jdi.JDWP
  TopLevelThreadGroups = com.sun.tools.jdi.JDWP$VirtualMachine$TopLevelThreadGroups of com.sun.tools.jdi.JDWP$VirtualMachine