final class io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory extends io.netty.util.ResourceLeakDetectorFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory
  super_class: io.netty.util.ResourceLeakDetectorFactory
{
  private final java.lang.reflect.Constructor<?> obsoleteCustomClassConstructor;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/reflect/Constructor<*>;

  private final java.lang.reflect.Constructor<?> customClassConstructor;
    descriptor: Ljava/lang/reflect/Constructor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/reflect/Constructor<*>;

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory this
         0: .line 103
            aload 0 /* this */
            invokespecial io.netty.util.ResourceLeakDetectorFactory.<init>:()V
         1: .line 106
            new io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory$1
            dup
            aload 0 /* this */
            invokespecial io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory$1.<init>:(Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* customLeakDetector */
        start local 1 // java.lang.String customLeakDetector
         2: .line 112
            goto 6
        end local 1 // java.lang.String customLeakDetector
      StackMap locals: io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory
      StackMap stack: java.lang.Throwable
         3: astore 2 /* cause */
        start local 2 // java.lang.Throwable cause
         4: .line 113
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Could not access System property: io.netty.customResourceLeakDetector"
            aload 2 /* cause */
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         5: .line 114
            aconst_null
            astore 1 /* customLeakDetector */
        end local 2 // java.lang.Throwable cause
        start local 1 // java.lang.String customLeakDetector
         6: .line 116
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* customLeakDetector */
            ifnonnull 9
         7: .line 117
            aload 0 /* this */
            aload 0 /* this */
            aconst_null
            dup_x1
            putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
            putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
         8: .line 118
            goto 11
         9: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* customLeakDetector */
            invokestatic io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:(Ljava/lang/String;)Ljava/lang/reflect/Constructor;
            putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
        10: .line 120
            aload 0 /* this */
            aload 1 /* customLeakDetector */
            invokestatic io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:(Ljava/lang/String;)Ljava/lang/reflect/Constructor;
            putfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
        11: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String customLeakDetector
        end local 0 // io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   12     0                this  Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;
            2    3     1  customLeakDetector  Ljava/lang/String;
            6   12     1  customLeakDetector  Ljava/lang/String;
            4    6     2               cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable

  private static java.lang.reflect.Constructor<?> obsoleteCustomClassConstructor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String customLeakDetector
         0: .line 126
            aload 0 /* customLeakDetector */
            iconst_1
         1: .line 127
            invokestatic io.netty.util.internal.PlatformDependent.getSystemClassLoader:()Ljava/lang/ClassLoader;
         2: .line 126
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 1 /* detectorClass */
        start local 1 // java.lang.Class detectorClass
         3: .line 129
            ldc Lio/netty/util/ResourceLeakDetector;
            aload 1 /* detectorClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         4: .line 130
            aload 1 /* detectorClass */
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         5: areturn
         6: .line 132
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Class {} does not inherit from ResourceLeakDetector."
            aload 0 /* customLeakDetector */
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 1 // java.lang.Class detectorClass
         7: .line 134
            goto 12
      StackMap locals: java.lang.String
      StackMap stack: java.lang.Throwable
         8: astore 1 /* t */
        start local 1 // java.lang.Throwable t
         9: .line 135
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Could not load custom resource leak detector class provided: {}"
        10: .line 136
            aload 0 /* customLeakDetector */
            aload 1 /* t */
        11: .line 135
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // java.lang.Throwable t
        12: .line 138
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String customLeakDetector
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0  customLeakDetector  Ljava/lang/String;
            3    7     1       detectorClass  Ljava/lang/Class<*>;
            9   12     1                   t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       8  Class java.lang.Throwable
           6     7       8  Class java.lang.Throwable
    Signature: (Ljava/lang/String;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
                    Name  Flags
      customLeakDetector  

  private static java.lang.reflect.Constructor<?> customClassConstructor(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Constructor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.lang.String customLeakDetector
         0: .line 143
            aload 0 /* customLeakDetector */
            iconst_1
         1: .line 144
            invokestatic io.netty.util.internal.PlatformDependent.getSystemClassLoader:()Ljava/lang/ClassLoader;
         2: .line 143
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 1 /* detectorClass */
        start local 1 // java.lang.Class detectorClass
         3: .line 146
            ldc Lio/netty/util/ResourceLeakDetector;
            aload 1 /* detectorClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 6
         4: .line 147
            aload 1 /* detectorClass */
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Class;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
         5: areturn
         6: .line 149
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Class {} does not inherit from ResourceLeakDetector."
            aload 0 /* customLeakDetector */
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 1 // java.lang.Class detectorClass
         7: .line 151
            goto 12
      StackMap locals: java.lang.String
      StackMap stack: java.lang.Throwable
         8: astore 1 /* t */
        start local 1 // java.lang.Throwable t
         9: .line 152
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Could not load custom resource leak detector class provided: {}"
        10: .line 153
            aload 0 /* customLeakDetector */
            aload 1 /* t */
        11: .line 152
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // java.lang.Throwable t
        12: .line 155
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.String customLeakDetector
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0  customLeakDetector  Ljava/lang/String;
            3    7     1       detectorClass  Ljava/lang/Class<*>;
            9   12     1                   t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     5       8  Class java.lang.Throwable
           6     7       8  Class java.lang.Throwable
    Signature: (Ljava/lang/String;)Ljava/lang/reflect/Constructor<*>;
    MethodParameters:
                    Name  Flags
      customLeakDetector  

  public <T> io.netty.util.ResourceLeakDetector<T> newResourceLeakDetector(java.lang.Class<T>, int, long);
    descriptor: (Ljava/lang/Class;IJ)Lio/netty/util/ResourceLeakDetector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory this
        start local 1 // java.lang.Class resource
        start local 2 // int samplingInterval
        start local 3 // long maxActive
         0: .line 162
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
            ifnull 15
         1: .line 166
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 167
            aload 1 /* resource */
            aastore
            dup
            iconst_1
            iload 2 /* samplingInterval */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            lload 3 /* maxActive */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
         3: .line 166
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.util.ResourceLeakDetector
         4: .line 165
            astore 5 /* leakDetector */
        start local 5 // io.netty.util.ResourceLeakDetector leakDetector
         5: .line 168
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Loaded custom ResourceLeakDetector: {}"
         6: .line 169
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         7: .line 168
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 170
            aload 5 /* leakDetector */
         9: areturn
        end local 5 // io.netty.util.ResourceLeakDetector leakDetector
        10: .line 171
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* t */
        start local 5 // java.lang.Throwable t
        11: .line 172
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
        12: .line 173
            ldc "Could not load custom resource leak detector provided: {} with the given resource: {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 174
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.obsoleteCustomClassConstructor:Ljava/lang/reflect/Constructor;
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* resource */
            aastore
            dup
            iconst_2
            aload 5 /* t */
            aastore
        14: .line 172
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 5 // java.lang.Throwable t
        15: .line 178
      StackMap locals:
      StackMap stack:
            new io.netty.util.ResourceLeakDetector
            dup
            aload 1 /* resource */
            iload 2 /* samplingInterval */
        16: .line 179
            lload 3 /* maxActive */
        17: .line 178
            invokespecial io.netty.util.ResourceLeakDetector.<init>:(Ljava/lang/Class;IJ)V
            astore 5 /* resourceLeakDetector */
        start local 5 // io.netty.util.ResourceLeakDetector resourceLeakDetector
        18: .line 180
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Loaded default ResourceLeakDetector: {}"
            aload 5 /* resourceLeakDetector */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        19: .line 181
            aload 5 /* resourceLeakDetector */
            areturn
        end local 5 // io.netty.util.ResourceLeakDetector resourceLeakDetector
        end local 3 // long maxActive
        end local 2 // int samplingInterval
        end local 1 // java.lang.Class resource
        end local 0 // io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   20     0                  this  Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;
            0   20     1              resource  Ljava/lang/Class<TT;>;
            0   20     2      samplingInterval  I
            0   20     3             maxActive  J
            5   10     5          leakDetector  Lio/netty/util/ResourceLeakDetector<TT;>;
           11   15     5                     t  Ljava/lang/Throwable;
           18   20     5  resourceLeakDetector  Lio/netty/util/ResourceLeakDetector<TT;>;
      Exception table:
        from    to  target  type
           1     9      10  Class java.lang.Throwable
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;IJ)Lio/netty/util/ResourceLeakDetector<TT;>;
    MethodParameters:
                  Name  Flags
      resource          
      samplingInterval  
      maxActive         

  public <T> io.netty.util.ResourceLeakDetector<T> newResourceLeakDetector(java.lang.Class<T>, int);
    descriptor: (Ljava/lang/Class;I)Lio/netty/util/ResourceLeakDetector;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory this
        start local 1 // java.lang.Class resource
        start local 2 // int samplingInterval
         0: .line 186
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
            ifnull 13
         1: .line 190
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* resource */
            aastore
            dup
            iconst_1
            iload 2 /* samplingInterval */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.netty.util.ResourceLeakDetector
         2: .line 189
            astore 3 /* leakDetector */
        start local 3 // io.netty.util.ResourceLeakDetector leakDetector
         3: .line 191
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Loaded custom ResourceLeakDetector: {}"
         4: .line 192
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         5: .line 191
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         6: .line 193
            aload 3 /* leakDetector */
         7: areturn
        end local 3 // io.netty.util.ResourceLeakDetector leakDetector
         8: .line 194
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 3 /* t */
        start local 3 // java.lang.Throwable t
         9: .line 195
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
        10: .line 196
            ldc "Could not load custom resource leak detector provided: {} with the given resource: {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 197
            aload 0 /* this */
            getfield io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory.customClassConstructor:Ljava/lang/reflect/Constructor;
            invokevirtual java.lang.reflect.Constructor.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* resource */
            aastore
            dup
            iconst_2
            aload 3 /* t */
            aastore
        12: .line 195
            invokeinterface io.netty.util.internal.logging.InternalLogger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 3 // java.lang.Throwable t
        13: .line 201
      StackMap locals:
      StackMap stack:
            new io.netty.util.ResourceLeakDetector
            dup
            aload 1 /* resource */
            iload 2 /* samplingInterval */
            invokespecial io.netty.util.ResourceLeakDetector.<init>:(Ljava/lang/Class;I)V
            astore 3 /* resourceLeakDetector */
        start local 3 // io.netty.util.ResourceLeakDetector resourceLeakDetector
        14: .line 202
            getstatic io.netty.util.ResourceLeakDetectorFactory.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Loaded default ResourceLeakDetector: {}"
            aload 3 /* resourceLeakDetector */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 203
            aload 3 /* resourceLeakDetector */
            areturn
        end local 3 // io.netty.util.ResourceLeakDetector resourceLeakDetector
        end local 2 // int samplingInterval
        end local 1 // java.lang.Class resource
        end local 0 // io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   16     0                  this  Lio/netty/util/ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory;
            0   16     1              resource  Ljava/lang/Class<TT;>;
            0   16     2      samplingInterval  I
            3    8     3          leakDetector  Lio/netty/util/ResourceLeakDetector<TT;>;
            9   13     3                     t  Ljava/lang/Throwable;
           14   16     3  resourceLeakDetector  Lio/netty/util/ResourceLeakDetector<TT;>;
      Exception table:
        from    to  target  type
           1     7       8  Class java.lang.Throwable
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;I)Lio/netty/util/ResourceLeakDetector<TT;>;
    MethodParameters:
                  Name  Flags
      resource          
      samplingInterval  
}
SourceFile: "ResourceLeakDetectorFactory.java"
NestHost: io.netty.util.ResourceLeakDetectorFactory
InnerClasses:
  private final DefaultResourceLeakDetectorFactory = io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory of io.netty.util.ResourceLeakDetectorFactory
  io.netty.util.ResourceLeakDetectorFactory$DefaultResourceLeakDetectorFactory$1