public abstract class javax.sound.sampled.CompoundControl extends javax.sound.sampled.Control
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: javax.sound.sampled.CompoundControl
  super_class: javax.sound.sampled.Control
{
  private final javax.sound.sampled.Control[] controls;
    descriptor: [Ljavax/sound/sampled/Control;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected void <init>(javax.sound.sampled.CompoundControl$Type, javax.sound.sampled.Control[]);
    descriptor: (Ljavax/sound/sampled/CompoundControl$Type;[Ljavax/sound/sampled/Control;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javax.sound.sampled.CompoundControl this
        start local 1 // javax.sound.sampled.CompoundControl$Type type
        start local 2 // javax.sound.sampled.Control[] memberControls
         0: .line 52
            aload 0 /* this */
            aload 1 /* type */
            invokespecial javax.sound.sampled.Control.<init>:(Ljavax/sound/sampled/Control$Type;)V
         1: .line 53
            aload 0 /* this */
            aload 2 /* memberControls */
            putfield javax.sound.sampled.CompoundControl.controls:[Ljavax/sound/sampled/Control;
         2: .line 54
            return
        end local 2 // javax.sound.sampled.Control[] memberControls
        end local 1 // javax.sound.sampled.CompoundControl$Type type
        end local 0 // javax.sound.sampled.CompoundControl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Ljavax/sound/sampled/CompoundControl;
            0    3     1            type  Ljavax/sound/sampled/CompoundControl$Type;
            0    3     2  memberControls  [Ljavax/sound/sampled/Control;
    MethodParameters:
                Name  Flags
      type            
      memberControls  

  public javax.sound.sampled.Control[] getMemberControls();
    descriptor: ()[Ljavax/sound/sampled/Control;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javax.sound.sampled.CompoundControl this
         0: .line 62
            aload 0 /* this */
            getfield javax.sound.sampled.CompoundControl.controls:[Ljavax/sound/sampled/Control;
            invokevirtual javax.sound.sampled.Control[].clone:()Ljava/lang/Object;
            checkcast javax.sound.sampled.Control[]
            areturn
        end local 0 // javax.sound.sampled.CompoundControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavax/sound/sampled/CompoundControl;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // javax.sound.sampled.CompoundControl this
         0: .line 72
            new java.util.StringJoiner
            dup
            ldc ", "
            ldc "["
            ldc "]"
            invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
            astore 1 /* controls */
        start local 1 // java.util.StringJoiner controls
         1: .line 73
            aload 0 /* this */
            invokevirtual javax.sound.sampled.CompoundControl.getMemberControls:()[Ljavax/sound/sampled/Control;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: javax.sound.sampled.CompoundControl java.util.StringJoiner top int int javax.sound.sampled.Control[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* control */
        start local 2 // javax.sound.sampled.Control control
         3: .line 74
            aload 1 /* controls */
            aload 2 /* control */
            invokevirtual javax.sound.sampled.Control.getType:()Ljavax/sound/sampled/Control$Type;
            invokevirtual javax.sound.sampled.Control$Type.toString:()Ljava/lang/String;
            invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
            pop
        end local 2 // javax.sound.sampled.Control control
         4: .line 73
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 76
            ldc "%s containing %s controls"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokespecial javax.sound.sampled.Control.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         7: .line 77
            aload 1 /* controls */
            aastore
         8: .line 76
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 1 // java.util.StringJoiner controls
        end local 0 // javax.sound.sampled.CompoundControl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Ljavax/sound/sampled/CompoundControl;
            1    9     1  controls  Ljava/util/StringJoiner;
            3    4     2   control  Ljavax/sound/sampled/Control;
}
SourceFile: "CompoundControl.java"
NestMembers:
  javax.sound.sampled.CompoundControl$Type
InnerClasses:
  public Type = javax.sound.sampled.CompoundControl$Type of javax.sound.sampled.CompoundControl
  public Type = javax.sound.sampled.Control$Type of javax.sound.sampled.Control