public class org.apache.logging.log4j.core.config.AppenderControlArraySet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.logging.log4j.core.config.AppenderControlArraySet
  super_class: java.lang.Object
{
  private final java.util.concurrent.atomic.AtomicReference<org.apache.logging.log4j.core.config.AppenderControl[]> appenderArray;
    descriptor: Ljava/util/concurrent/atomic/AtomicReference;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicReference<[Lorg/apache/logging/log4j/core/config/AppenderControl;>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 35
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicReference
            dup
            iconst_0
            anewarray org.apache.logging.log4j.core.config.AppenderControl
            invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
            putfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
         2: .line 34
            return
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;

  public boolean add(org.apache.logging.log4j.core.config.AppenderControl);
    descriptor: (Lorg/apache/logging/log4j/core/config/AppenderControl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
        start local 1 // org.apache.logging.log4j.core.config.AppenderControl control
         0: .line 47
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            astore 3 /* original */
        start local 3 // org.apache.logging.log4j.core.config.AppenderControl[] original
         1: .line 48
            aload 3 /* original */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 6
      StackMap locals: org.apache.logging.log4j.core.config.AppenderControlArraySet org.apache.logging.log4j.core.config.AppenderControl top org.apache.logging.log4j.core.config.AppenderControl[] top int int org.apache.logging.log4j.core.config.AppenderControl[]
      StackMap stack:
         2: aload 7
            iload 5
            aaload
            astore 4 /* existing */
        start local 4 // org.apache.logging.log4j.core.config.AppenderControl existing
         3: .line 49
            aload 4 /* existing */
            aload 1 /* control */
            invokevirtual org.apache.logging.log4j.core.config.AppenderControl.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 50
            iconst_0
            ireturn
        end local 4 // org.apache.logging.log4j.core.config.AppenderControl existing
         5: .line 48
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         6: iload 5
            iload 6
            if_icmplt 2
         7: .line 53
            aload 3 /* original */
            aload 3 /* original */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            astore 4 /* copy */
        start local 4 // org.apache.logging.log4j.core.config.AppenderControl[] copy
         8: .line 54
            aload 4 /* copy */
            aload 4 /* copy */
            arraylength
            iconst_1
            isub
            aload 1 /* control */
            aastore
         9: .line 55
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            aload 3 /* original */
            aload 4 /* copy */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 2 /* success */
        end local 4 // org.apache.logging.log4j.core.config.AppenderControl[] copy
        end local 3 // org.apache.logging.log4j.core.config.AppenderControl[] original
        start local 2 // boolean success
        10: .line 56
            iload 2 /* success */
            ifeq 0
        11: .line 57
            iconst_1
            ireturn
        end local 2 // boolean success
        end local 1 // org.apache.logging.log4j.core.config.AppenderControl control
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;
            0   12     1   control  Lorg/apache/logging/log4j/core/config/AppenderControl;
           10   12     2   success  Z
            1   10     3  original  [Lorg/apache/logging/log4j/core/config/AppenderControl;
            3    5     4  existing  Lorg/apache/logging/log4j/core/config/AppenderControl;
            8   10     4      copy  [Lorg/apache/logging/log4j/core/config/AppenderControl;
    MethodParameters:
         Name  Flags
      control  final

  public org.apache.logging.log4j.core.config.AppenderControl remove(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/apache/logging/log4j/core/config/AppenderControl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
        start local 1 // java.lang.String name
         0: .line 69
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 2 /* success */
        start local 2 // boolean success
         1: .line 70
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            astore 3 /* original */
        start local 3 // org.apache.logging.log4j.core.config.AppenderControl[] original
         2: .line 71
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 12
         4: .line 72
      StackMap locals: int org.apache.logging.log4j.core.config.AppenderControl[] int
      StackMap stack:
            aload 3 /* original */
            iload 4 /* i */
            aaload
            astore 5 /* appenderControl */
        start local 5 // org.apache.logging.log4j.core.config.AppenderControl appenderControl
         5: .line 73
            aload 1 /* name */
            aload 5 /* appenderControl */
            invokevirtual org.apache.logging.log4j.core.config.AppenderControl.getAppenderName:()Ljava/lang/String;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 11
         6: .line 74
            aload 0 /* this */
            iload 4 /* i */
            aload 3 /* original */
            invokevirtual org.apache.logging.log4j.core.config.AppenderControlArraySet.removeElementAt:(I[Lorg/apache/logging/log4j/core/config/AppenderControl;)[Lorg/apache/logging/log4j/core/config/AppenderControl;
            astore 6 /* copy */
        start local 6 // org.apache.logging.log4j.core.config.AppenderControl[] copy
         7: .line 75
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            aload 3 /* original */
            aload 6 /* copy */
            invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 9
         8: .line 76
            aload 5 /* appenderControl */
            areturn
         9: .line 78
      StackMap locals: org.apache.logging.log4j.core.config.AppenderControl org.apache.logging.log4j.core.config.AppenderControl[]
      StackMap stack:
            iconst_0
            istore 2 /* success */
        10: .line 79
            goto 13
        end local 6 // org.apache.logging.log4j.core.config.AppenderControl[] copy
        end local 5 // org.apache.logging.log4j.core.config.AppenderControl appenderControl
        11: .line 71
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 3 /* original */
            arraylength
            if_icmplt 4
        end local 4 // int i
        end local 3 // org.apache.logging.log4j.core.config.AppenderControl[] original
        13: .line 82
      StackMap locals:
      StackMap stack:
            iload 2 /* success */
            ifeq 0
        14: .line 83
            aconst_null
            areturn
        end local 2 // boolean success
        end local 1 // java.lang.String name
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;
            0   15     1             name  Ljava/lang/String;
            1   15     2          success  Z
            2   13     3         original  [Lorg/apache/logging/log4j/core/config/AppenderControl;
            3   13     4                i  I
            5   11     5  appenderControl  Lorg/apache/logging/log4j/core/config/AppenderControl;
            7   11     6             copy  [Lorg/apache/logging/log4j/core/config/AppenderControl;
    MethodParameters:
      Name  Flags
      name  final

  private org.apache.logging.log4j.core.config.AppenderControl[] removeElementAt(int, org.apache.logging.log4j.core.config.AppenderControl[]);
    descriptor: (I[Lorg/apache/logging/log4j/core/config/AppenderControl;)[Lorg/apache/logging/log4j/core/config/AppenderControl;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
        start local 1 // int i
        start local 2 // org.apache.logging.log4j.core.config.AppenderControl[] array
         0: .line 87
            aload 2 /* array */
            aload 2 /* array */
            arraylength
            iconst_1
            isub
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            astore 3 /* result */
        start local 3 // org.apache.logging.log4j.core.config.AppenderControl[] result
         1: .line 88
            aload 2 /* array */
            iload 1 /* i */
            iconst_1
            iadd
            aload 3 /* result */
            iload 1 /* i */
            aload 3 /* result */
            arraylength
            iload 1 /* i */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 89
            aload 3 /* result */
            areturn
        end local 3 // org.apache.logging.log4j.core.config.AppenderControl[] result
        end local 2 // org.apache.logging.log4j.core.config.AppenderControl[] array
        end local 1 // int i
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;
            0    3     1       i  I
            0    3     2   array  [Lorg/apache/logging/log4j/core/config/AppenderControl;
            1    3     3  result  [Lorg/apache/logging/log4j/core/config/AppenderControl;
    MethodParameters:
       Name  Flags
      i      final
      array  final

  public java.util.Map<java.lang.String, org.apache.logging.log4j.core.Appender> asMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
         0: .line 98
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.Map result
         1: .line 99
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: org.apache.logging.log4j.core.config.AppenderControlArraySet java.util.Map top int int org.apache.logging.log4j.core.config.AppenderControl[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* appenderControl */
        start local 2 // org.apache.logging.log4j.core.config.AppenderControl appenderControl
         3: .line 100
            aload 1 /* result */
            aload 2 /* appenderControl */
            invokevirtual org.apache.logging.log4j.core.config.AppenderControl.getAppenderName:()Ljava/lang/String;
            aload 2 /* appenderControl */
            invokevirtual org.apache.logging.log4j.core.config.AppenderControl.getAppender:()Lorg/apache/logging/log4j/core/Appender;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // org.apache.logging.log4j.core.config.AppenderControl appenderControl
         4: .line 99
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 102
            aload 1 /* result */
            areturn
        end local 1 // java.util.Map result
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;
            1    7     1           result  Ljava/util/Map<Ljava/lang/String;Lorg/apache/logging/log4j/core/Appender;>;
            3    4     2  appenderControl  Lorg/apache/logging/log4j/core/config/AppenderControl;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/apache/logging/log4j/core/Appender;>;

  public org.apache.logging.log4j.core.config.AppenderControl[] clear();
    descriptor: ()[Lorg/apache/logging/log4j/core/config/AppenderControl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
         0: .line 111
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            iconst_0
            anewarray org.apache.logging.log4j.core.config.AppenderControl
            invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            areturn
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
         0: .line 115
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            arraylength
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;

  public org.apache.logging.log4j.core.config.AppenderControl[] get();
    descriptor: ()[Lorg/apache/logging/log4j/core/config/AppenderControl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
         0: .line 124
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.config.AppenderControl[]
            areturn
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
         0: .line 129
            new java.lang.StringBuilder
            dup
            ldc "AppenderControlArraySet [appenderArray="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.config.AppenderControlArraySet.appenderArray:Ljava/util/concurrent/atomic/AtomicReference;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.logging.log4j.core.config.AppenderControlArraySet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/config/AppenderControlArraySet;
}
SourceFile: "AppenderControlArraySet.java"
    RuntimeInvisibleAnnotations: 
      org.apache.logging.log4j.util.PerformanceSensitive()