public abstract class org.apache.logging.log4j.core.filter.AbstractFilterable extends org.apache.logging.log4j.core.AbstractLifeCycle implements org.apache.logging.log4j.core.filter.Filterable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.logging.log4j.core.filter.AbstractFilterable
  super_class: org.apache.logging.log4j.core.AbstractLifeCycle
{
  private volatile org.apache.logging.log4j.core.Filter filter;
    descriptor: Lorg/apache/logging/log4j/core/Filter;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final org.apache.logging.log4j.core.config.Property[] propertyArray;
    descriptor: [Lorg/apache/logging/log4j/core/config/Property;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    RuntimeVisibleAnnotations: 
      org.apache.logging.log4j.core.config.plugins.PluginElement(value = "Properties")

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
         0: .line 95
            aload 0 /* this */
            aconst_null
            getstatic org.apache.logging.log4j.core.config.Property.EMPTY_ARRAY:[Lorg/apache/logging/log4j/core/config/Property;
            invokespecial org.apache.logging.log4j.core.filter.AbstractFilterable.<init>:(Lorg/apache/logging/log4j/core/Filter;[Lorg/apache/logging/log4j/core/config/Property;)V
         1: .line 96
            return
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;

  protected void <init>(org.apache.logging.log4j.core.Filter);
    descriptor: (Lorg/apache/logging/log4j/core/Filter;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // org.apache.logging.log4j.core.Filter filter
         0: .line 99
            aload 0 /* this */
            aload 1 /* filter */
            getstatic org.apache.logging.log4j.core.config.Property.EMPTY_ARRAY:[Lorg/apache/logging/log4j/core/config/Property;
            invokespecial org.apache.logging.log4j.core.filter.AbstractFilterable.<init>:(Lorg/apache/logging/log4j/core/Filter;[Lorg/apache/logging/log4j/core/config/Property;)V
         1: .line 100
            return
        end local 1 // org.apache.logging.log4j.core.Filter filter
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0    2     1  filter  Lorg/apache/logging/log4j/core/Filter;
    MethodParameters:
        Name  Flags
      filter  final

  protected void <init>(org.apache.logging.log4j.core.Filter, org.apache.logging.log4j.core.config.Property[]);
    descriptor: (Lorg/apache/logging/log4j/core/Filter;[Lorg/apache/logging/log4j/core/config/Property;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // org.apache.logging.log4j.core.Filter filter
        start local 2 // org.apache.logging.log4j.core.config.Property[] propertyArray
         0: .line 105
            aload 0 /* this */
            invokespecial org.apache.logging.log4j.core.AbstractLifeCycle.<init>:()V
         1: .line 106
            aload 0 /* this */
            aload 1 /* filter */
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
         2: .line 107
            aload 0 /* this */
            aload 2 /* propertyArray */
            ifnonnull 3
            getstatic org.apache.logging.log4j.core.config.Property.EMPTY_ARRAY:[Lorg/apache/logging/log4j/core/config/Property;
            goto 4
      StackMap locals: org.apache.logging.log4j.core.filter.AbstractFilterable org.apache.logging.log4j.core.Filter org.apache.logging.log4j.core.config.Property[]
      StackMap stack: org.apache.logging.log4j.core.filter.AbstractFilterable
         3: aload 2 /* propertyArray */
      StackMap locals: org.apache.logging.log4j.core.filter.AbstractFilterable org.apache.logging.log4j.core.Filter org.apache.logging.log4j.core.config.Property[]
      StackMap stack: org.apache.logging.log4j.core.filter.AbstractFilterable org.apache.logging.log4j.core.config.Property[]
         4: putfield org.apache.logging.log4j.core.filter.AbstractFilterable.propertyArray:[Lorg/apache/logging/log4j/core/config/Property;
         5: .line 108
            return
        end local 2 // org.apache.logging.log4j.core.config.Property[] propertyArray
        end local 1 // org.apache.logging.log4j.core.Filter filter
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0    6     1         filter  Lorg/apache/logging/log4j/core/Filter;
            0    6     2  propertyArray  [Lorg/apache/logging/log4j/core/config/Property;
    MethodParameters:
               Name  Flags
      filter         final
      propertyArray  final

  public synchronized void addFilter(org.apache.logging.log4j.core.Filter);
    descriptor: (Lorg/apache/logging/log4j/core/Filter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // org.apache.logging.log4j.core.Filter filter
         0: .line 116
            aload 1 /* filter */
            ifnonnull 2
         1: .line 117
            return
         2: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            ifnonnull 5
         3: .line 120
            aload 0 /* this */
            aload 1 /* filter */
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
         4: .line 121
            goto 10
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            instanceof org.apache.logging.log4j.core.filter.CompositeFilter
            ifeq 8
         6: .line 122
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            checkcast org.apache.logging.log4j.core.filter.CompositeFilter
            aload 1 /* filter */
            invokevirtual org.apache.logging.log4j.core.filter.CompositeFilter.addFilter:(Lorg/apache/logging/log4j/core/Filter;)Lorg/apache/logging/log4j/core/filter/CompositeFilter;
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
         7: .line 123
            goto 10
         8: .line 124
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray org.apache.logging.log4j.core.Filter
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            aastore
            dup
            iconst_1
            aload 1 /* filter */
            aastore
            astore 2 /* filters */
        start local 2 // org.apache.logging.log4j.core.Filter[] filters
         9: .line 125
            aload 0 /* this */
            aload 2 /* filters */
            invokestatic org.apache.logging.log4j.core.filter.CompositeFilter.createFilters:([Lorg/apache/logging/log4j/core/Filter;)Lorg/apache/logging/log4j/core/filter/CompositeFilter;
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
        end local 2 // org.apache.logging.log4j.core.Filter[] filters
        10: .line 127
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.logging.log4j.core.Filter filter
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0   11     1   filter  Lorg/apache/logging/log4j/core/Filter;
            9   10     2  filters  [Lorg/apache/logging/log4j/core/Filter;
    MethodParameters:
        Name  Flags
      filter  final

  public org.apache.logging.log4j.core.Filter getFilter();
    descriptor: ()Lorg/apache/logging/log4j/core/Filter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
         0: .line 135
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            areturn
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;

  public boolean hasFilter();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
         0: .line 144
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;

  public boolean isFiltered(org.apache.logging.log4j.core.LogEvent);
    descriptor: (Lorg/apache/logging/log4j/core/LogEvent;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // org.apache.logging.log4j.core.LogEvent event
         0: .line 154
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            aload 1 /* event */
            invokeinterface org.apache.logging.log4j.core.Filter.filter:(Lorg/apache/logging/log4j/core/LogEvent;)Lorg/apache/logging/log4j/core/Filter$Result;
            getstatic org.apache.logging.log4j.core.Filter$Result.DENY:Lorg/apache/logging/log4j/core/Filter$Result;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.logging.log4j.core.LogEvent event
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0    2     1  event  Lorg/apache/logging/log4j/core/LogEvent;
    MethodParameters:
       Name  Flags
      event  final

  public synchronized void removeFilter(org.apache.logging.log4j.core.Filter);
    descriptor: (Lorg/apache/logging/log4j/core/Filter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // org.apache.logging.log4j.core.Filter filter
         0: .line 163
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            ifnull 1
            aload 1 /* filter */
            ifnonnull 2
         1: .line 164
      StackMap locals:
      StackMap stack:
            return
         2: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            aload 1 /* filter */
            if_acmpeq 3
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            aload 1 /* filter */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
         4: .line 168
            goto 16
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            instanceof org.apache.logging.log4j.core.filter.CompositeFilter
            ifeq 16
         6: .line 169
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            checkcast org.apache.logging.log4j.core.filter.CompositeFilter
            astore 2 /* composite */
        start local 2 // org.apache.logging.log4j.core.filter.CompositeFilter composite
         7: .line 170
            aload 2 /* composite */
            aload 1 /* filter */
            invokevirtual org.apache.logging.log4j.core.filter.CompositeFilter.removeFilter:(Lorg/apache/logging/log4j/core/Filter;)Lorg/apache/logging/log4j/core/filter/CompositeFilter;
            astore 2 /* composite */
         8: .line 171
            aload 2 /* composite */
            invokevirtual org.apache.logging.log4j.core.filter.CompositeFilter.size:()I
            iconst_1
            if_icmple 11
         9: .line 172
            aload 0 /* this */
            aload 2 /* composite */
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
        10: .line 173
            goto 16
      StackMap locals: org.apache.logging.log4j.core.filter.CompositeFilter
      StackMap stack:
        11: aload 2 /* composite */
            invokevirtual org.apache.logging.log4j.core.filter.CompositeFilter.size:()I
            iconst_1
            if_icmpne 15
        12: .line 174
            aload 2 /* composite */
            invokevirtual org.apache.logging.log4j.core.filter.CompositeFilter.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
        13: .line 175
            aload 0 /* this */
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.logging.log4j.core.Filter
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
        end local 3 // java.util.Iterator iter
        14: .line 176
            goto 16
        15: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
        end local 2 // org.apache.logging.log4j.core.filter.CompositeFilter composite
        16: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.logging.log4j.core.Filter filter
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0   17     1     filter  Lorg/apache/logging/log4j/core/Filter;
            7   16     2  composite  Lorg/apache/logging/log4j/core/filter/CompositeFilter;
           13   14     3       iter  Ljava/util/Iterator<Lorg/apache/logging/log4j/core/Filter;>;
    MethodParameters:
        Name  Flags
      filter  final

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
         0: .line 187
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.filter.AbstractFilterable.setStarting:()V
         1: .line 188
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            ifnull 3
         2: .line 189
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            invokeinterface org.apache.logging.log4j.core.Filter.start:()V
         3: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.filter.AbstractFilterable.setStarted:()V
         4: .line 192
            return
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;

  public boolean stop(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 199
            aload 0 /* this */
            lload 1 /* timeout */
            aload 3 /* timeUnit */
            iconst_1
            invokevirtual org.apache.logging.log4j.core.filter.AbstractFilterable.stop:(JLjava/util/concurrent/TimeUnit;Z)Z
            ireturn
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long timeout
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0    1     1   timeout  J
            0    1     3  timeUnit  Ljava/util/concurrent/TimeUnit;
    MethodParameters:
          Name  Flags
      timeout   final
      timeUnit  final

  protected boolean stop(long, java.util.concurrent.TimeUnit, boolean);
    descriptor: (JLjava/util/concurrent/TimeUnit;Z)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit timeUnit
        start local 4 // boolean changeLifeCycleState
         0: .line 206
            iload 4 /* changeLifeCycleState */
            ifeq 2
         1: .line 207
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.filter.AbstractFilterable.setStopping:()V
         2: .line 209
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* stopped */
        start local 5 // boolean stopped
         3: .line 210
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            ifnull 9
         4: .line 211
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            instanceof org.apache.logging.log4j.core.LifeCycle2
            ifeq 7
         5: .line 212
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            checkcast org.apache.logging.log4j.core.LifeCycle2
            lload 1 /* timeout */
            aload 3 /* timeUnit */
            invokeinterface org.apache.logging.log4j.core.LifeCycle2.stop:(JLjava/util/concurrent/TimeUnit;)Z
            istore 5 /* stopped */
         6: .line 213
            goto 9
         7: .line 214
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.filter:Lorg/apache/logging/log4j/core/Filter;
            invokeinterface org.apache.logging.log4j.core.Filter.stop:()V
         8: .line 215
            iconst_1
            istore 5 /* stopped */
         9: .line 218
      StackMap locals:
      StackMap stack:
            iload 4 /* changeLifeCycleState */
            ifeq 11
        10: .line 219
            aload 0 /* this */
            invokevirtual org.apache.logging.log4j.core.filter.AbstractFilterable.setStopped:()V
        11: .line 221
      StackMap locals:
      StackMap stack:
            iload 5 /* stopped */
            ireturn
        end local 5 // boolean stopped
        end local 4 // boolean changeLifeCycleState
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long timeout
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
            0   12     1               timeout  J
            0   12     3              timeUnit  Ljava/util/concurrent/TimeUnit;
            0   12     4  changeLifeCycleState  Z
            3   12     5               stopped  Z
    MethodParameters:
                      Name  Flags
      timeout               final
      timeUnit              final
      changeLifeCycleState  final

  public org.apache.logging.log4j.core.config.Property[] getPropertyArray();
    descriptor: ()[Lorg/apache/logging/log4j/core/config/Property;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
         0: .line 225
            aload 0 /* this */
            getfield org.apache.logging.log4j.core.filter.AbstractFilterable.propertyArray:[Lorg/apache/logging/log4j/core/config/Property;
            areturn
        end local 0 // org.apache.logging.log4j.core.filter.AbstractFilterable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/logging/log4j/core/filter/AbstractFilterable;
}
SourceFile: "AbstractFilterable.java"
NestMembers:
  org.apache.logging.log4j.core.filter.AbstractFilterable$Builder
InnerClasses:
  public final Result = org.apache.logging.log4j.core.Filter$Result of org.apache.logging.log4j.core.Filter
  public abstract Builder = org.apache.logging.log4j.core.filter.AbstractFilterable$Builder of org.apache.logging.log4j.core.filter.AbstractFilterable