public class java.util.logging.FileHandler extends java.util.logging.StreamHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.logging.FileHandler
  super_class: java.util.logging.StreamHandler
{
  private java.util.logging.FileHandler$MeteredStream meter;
    descriptor: Ljava/util/logging/FileHandler$MeteredStream;
    flags: (0x0002) ACC_PRIVATE

  private boolean append;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int limit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int count;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String pattern;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String lockFileName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.nio.channels.FileChannel lockFileChannel;
    descriptor: Ljava/nio/channels/FileChannel;
    flags: (0x0002) ACC_PRIVATE

  private java.io.File[] files;
    descriptor: [Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE

  private static final int DEFAULT_MAX_LOCKS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static int maxLocks;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final java.util.Set<java.lang.String> locks;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 161
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
         1: .line 169
            invokedynamic run()Ljava/security/PrivilegedAction;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  java/util/logging/FileHandler.lambda$0()Ljava/lang/Integer; (6)
                  ()Ljava/lang/Integer;
         2: .line 168
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            putstatic java.util.logging.FileHandler.maxLocks:I
         3: .line 175
            getstatic java.util.logging.FileHandler.maxLocks:I
            ifgt 5
         4: .line 176
            bipush 100
            putstatic java.util.logging.FileHandler.maxLocks:I
         5: .line 178
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void open(java.io.File, boolean);
    descriptor: (Ljava/io/File;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.io.File fname
        start local 2 // boolean append
         0: .line 224
            iconst_0
            istore 3 /* len */
        start local 3 // int len
         1: .line 225
            iload 2 /* append */
            ifeq 3
         2: .line 226
            aload 1 /* fname */
            invokevirtual java.io.File.length:()J
            l2i
            istore 3 /* len */
         3: .line 228
      StackMap locals: int
      StackMap stack:
            new java.io.FileOutputStream
            dup
            aload 1 /* fname */
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            iload 2 /* append */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;Z)V
            astore 4 /* fout */
        start local 4 // java.io.FileOutputStream fout
         4: .line 229
            new java.io.BufferedOutputStream
            dup
            aload 4 /* fout */
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* bout */
        start local 5 // java.io.BufferedOutputStream bout
         5: .line 230
            aload 0 /* this */
            new java.util.logging.FileHandler$MeteredStream
            dup
            aload 0 /* this */
            aload 5 /* bout */
            iload 3 /* len */
            invokespecial java.util.logging.FileHandler$MeteredStream.<init>:(Ljava/util/logging/FileHandler;Ljava/io/OutputStream;I)V
            putfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
         6: .line 231
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
            invokevirtual java.util.logging.FileHandler.setOutputStream:(Ljava/io/OutputStream;)V
         7: .line 232
            return
        end local 5 // java.io.BufferedOutputStream bout
        end local 4 // java.io.FileOutputStream fout
        end local 3 // int len
        end local 2 // boolean append
        end local 1 // java.io.File fname
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/util/logging/FileHandler;
            0    8     1   fname  Ljava/io/File;
            0    8     2  append  Z
            1    8     3     len  I
            4    8     4    fout  Ljava/io/FileOutputStream;
            5    8     5    bout  Ljava/io/BufferedOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      fname   
      append  

  private void configure();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.util.logging.FileHandler this
         0: .line 239
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            astore 1 /* manager */
        start local 1 // java.util.logging.LogManager manager
         1: .line 241
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 2 /* cname */
        start local 2 // java.lang.String cname
         2: .line 243
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".pattern"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "%h/java%u.log"
            invokevirtual java.util.logging.LogManager.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
         3: .line 244
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".limit"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual java.util.logging.LogManager.getIntProperty:(Ljava/lang/String;I)I
            putfield java.util.logging.FileHandler.limit:I
         4: .line 245
            aload 0 /* this */
            getfield java.util.logging.FileHandler.limit:I
            ifge 6
         5: .line 246
            aload 0 /* this */
            iconst_0
            putfield java.util.logging.FileHandler.limit:I
         6: .line 248
      StackMap locals: java.util.logging.LogManager java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".count"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            invokevirtual java.util.logging.LogManager.getIntProperty:(Ljava/lang/String;I)I
            putfield java.util.logging.FileHandler.count:I
         7: .line 249
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            ifgt 9
         8: .line 250
            aload 0 /* this */
            iconst_1
            putfield java.util.logging.FileHandler.count:I
         9: .line 252
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".append"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual java.util.logging.LogManager.getBooleanProperty:(Ljava/lang/String;Z)Z
            putfield java.util.logging.FileHandler.append:Z
        10: .line 253
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".level"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            getstatic java.util.logging.Level.ALL:Ljava/util/logging/Level;
            invokevirtual java.util.logging.LogManager.getLevelProperty:(Ljava/lang/String;Ljava/util/logging/Level;)Ljava/util/logging/Level;
            invokevirtual java.util.logging.FileHandler.setLevel:(Ljava/util/logging/Level;)V
        11: .line 254
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".filter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokevirtual java.util.logging.LogManager.getFilterProperty:(Ljava/lang/String;Ljava/util/logging/Filter;)Ljava/util/logging/Filter;
            invokevirtual java.util.logging.FileHandler.setFilter:(Ljava/util/logging/Filter;)V
        12: .line 255
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".formatter"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            new java.util.logging.XMLFormatter
            dup
            invokespecial java.util.logging.XMLFormatter.<init>:()V
            invokevirtual java.util.logging.LogManager.getFormatterProperty:(Ljava/lang/String;Ljava/util/logging/Formatter;)Ljava/util/logging/Formatter;
            invokevirtual java.util.logging.FileHandler.setFormatter:(Ljava/util/logging/Formatter;)V
        13: .line 257
            aload 0 /* this */
            aload 1 /* manager */
            new java.lang.StringBuilder
            dup
            aload 2 /* cname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".encoding"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aconst_null
            invokevirtual java.util.logging.LogManager.getStringProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.logging.FileHandler.setEncoding:(Ljava/lang/String;)V
        14: .line 258
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        15: pop
        16: .line 260
            aload 0 /* this */
            aconst_null
            invokevirtual java.util.logging.FileHandler.setEncoding:(Ljava/lang/String;)V
        17: .line 261
            goto 19
      StackMap locals:
      StackMap stack: java.lang.Exception
        18: pop
        19: .line 266
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String cname
        end local 1 // java.util.logging.LogManager manager
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Ljava/util/logging/FileHandler;
            1   20     1  manager  Ljava/util/logging/LogManager;
            2   20     2    cname  Ljava/lang/String;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.Exception
          16    17      18  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.logging.FileHandler this
         0: .line 278
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.<init>:()V
         1: .line 279
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.checkPermission:()V
         2: .line 280
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.configure:()V
         3: .line 281
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.openFiles:()V
         4: .line 282
            return
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/logging/FileHandler;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.lang.String pattern
         0: .line 301
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.<init>:()V
         1: .line 302
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 3
         2: .line 303
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 305
      StackMap locals: java.util.logging.FileHandler java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.checkPermission:()V
         4: .line 306
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.configure:()V
         5: .line 307
            aload 0 /* this */
            aload 1 /* pattern */
            putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
         6: .line 308
            aload 0 /* this */
            iconst_0
            putfield java.util.logging.FileHandler.limit:I
         7: .line 309
            aload 0 /* this */
            iconst_1
            putfield java.util.logging.FileHandler.count:I
         8: .line 310
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.openFiles:()V
         9: .line 311
            return
        end local 1 // java.lang.String pattern
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljava/util/logging/FileHandler;
            0   10     1  pattern  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException
    MethodParameters:
         Name  Flags
      pattern  

  public void <init>(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.lang.String pattern
        start local 2 // boolean append
         0: .line 333
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.<init>:()V
         1: .line 335
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 3
         2: .line 336
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 338
      StackMap locals: java.util.logging.FileHandler java.lang.String int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.checkPermission:()V
         4: .line 339
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.configure:()V
         5: .line 340
            aload 0 /* this */
            aload 1 /* pattern */
            putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
         6: .line 341
            aload 0 /* this */
            iconst_0
            putfield java.util.logging.FileHandler.limit:I
         7: .line 342
            aload 0 /* this */
            iconst_1
            putfield java.util.logging.FileHandler.count:I
         8: .line 343
            aload 0 /* this */
            iload 2 /* append */
            putfield java.util.logging.FileHandler.append:Z
         9: .line 344
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.openFiles:()V
        10: .line 345
            return
        end local 2 // boolean append
        end local 1 // java.lang.String pattern
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljava/util/logging/FileHandler;
            0   11     1  pattern  Ljava/lang/String;
            0   11     2   append  Z
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException
    MethodParameters:
         Name  Flags
      pattern  
      append   

  public void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.lang.String pattern
        start local 2 // int limit
        start local 3 // int count
         0: .line 370
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.<init>:()V
         1: .line 372
            iload 2 /* limit */
            iflt 2
            iload 3 /* count */
            iconst_1
            if_icmplt 2
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 3
         2: .line 373
      StackMap locals: java.util.logging.FileHandler java.lang.String int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.checkPermission:()V
         4: .line 376
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.configure:()V
         5: .line 377
            aload 0 /* this */
            aload 1 /* pattern */
            putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
         6: .line 378
            aload 0 /* this */
            iload 2 /* limit */
            putfield java.util.logging.FileHandler.limit:I
         7: .line 379
            aload 0 /* this */
            iload 3 /* count */
            putfield java.util.logging.FileHandler.count:I
         8: .line 380
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.openFiles:()V
         9: .line 381
            return
        end local 3 // int count
        end local 2 // int limit
        end local 1 // java.lang.String pattern
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Ljava/util/logging/FileHandler;
            0   10     1  pattern  Ljava/lang/String;
            0   10     2    limit  I
            0   10     3    count  I
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException
    MethodParameters:
         Name  Flags
      pattern  
      limit    
      count    

  public void <init>(java.lang.String, int, int, boolean);
    descriptor: (Ljava/lang/String;IIZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.lang.String pattern
        start local 2 // int limit
        start local 3 // int count
        start local 4 // boolean append
         0: .line 409
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.<init>:()V
         1: .line 411
            iload 2 /* limit */
            iflt 2
            iload 3 /* count */
            iconst_1
            if_icmplt 2
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpge 3
         2: .line 412
      StackMap locals: java.util.logging.FileHandler java.lang.String int int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 414
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.checkPermission:()V
         4: .line 415
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.configure:()V
         5: .line 416
            aload 0 /* this */
            aload 1 /* pattern */
            putfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
         6: .line 417
            aload 0 /* this */
            iload 2 /* limit */
            putfield java.util.logging.FileHandler.limit:I
         7: .line 418
            aload 0 /* this */
            iload 3 /* count */
            putfield java.util.logging.FileHandler.count:I
         8: .line 419
            aload 0 /* this */
            iload 4 /* append */
            putfield java.util.logging.FileHandler.append:Z
         9: .line 420
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.openFiles:()V
        10: .line 421
            return
        end local 4 // boolean append
        end local 3 // int count
        end local 2 // int limit
        end local 1 // java.lang.String pattern
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljava/util/logging/FileHandler;
            0   11     1  pattern  Ljava/lang/String;
            0   11     2    limit  I
            0   11     3    count  I
            0   11     4   append  Z
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException
    MethodParameters:
         Name  Flags
      pattern  
      limit    
      count    
      append   

  private boolean isParentWritable(java.nio.file.Path);
    descriptor: (Ljava/nio/file/Path;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.nio.file.Path path
         0: .line 424
            aload 1 /* path */
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 2 /* parent */
        start local 2 // java.nio.file.Path parent
         1: .line 425
            aload 2 /* parent */
            ifnonnull 3
         2: .line 426
            aload 1 /* path */
            invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 2 /* parent */
         3: .line 428
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 2 /* parent */
            ifnull 4
            aload 2 /* parent */
            invokestatic java.nio.file.Files.isWritable:(Ljava/nio/file/Path;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // java.nio.file.Path parent
        end local 1 // java.nio.file.Path path
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/util/logging/FileHandler;
            0    5     1    path  Ljava/nio/file/Path;
            1    5     2  parent  Ljava/nio/file/Path;
    MethodParameters:
      Name  Flags
      path  

  private void openFiles();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // java.util.logging.FileHandler this
         0: .line 436
            invokestatic java.util.logging.LogManager.getLogManager:()Ljava/util/logging/LogManager;
            astore 1 /* manager */
        start local 1 // java.util.logging.LogManager manager
         1: .line 437
            aload 1 /* manager */
            invokevirtual java.util.logging.LogManager.checkPermission:()V
         2: .line 438
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            iconst_1
            if_icmpge 4
         3: .line 439
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "file count = "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 441
      StackMap locals: java.util.logging.LogManager
      StackMap stack:
            aload 0 /* this */
            getfield java.util.logging.FileHandler.limit:I
            ifge 6
         5: .line 442
            aload 0 /* this */
            iconst_0
            putfield java.util.logging.FileHandler.limit:I
         6: .line 447
      StackMap locals:
      StackMap stack:
            new java.util.logging.FileHandler$InitializationErrorManager
            dup
            invokespecial java.util.logging.FileHandler$InitializationErrorManager.<init>:()V
            astore 2 /* em */
        start local 2 // java.util.logging.FileHandler$InitializationErrorManager em
         7: .line 448
            aload 0 /* this */
            aload 2 /* em */
            invokevirtual java.util.logging.FileHandler.setErrorManager:(Ljava/util/logging/ErrorManager;)V
         8: .line 452
            iconst_m1
            istore 3 /* unique */
        start local 3 // int unique
         9: .line 454
      StackMap locals: java.util.logging.FileHandler$InitializationErrorManager int
      StackMap stack:
            iinc 3 /* unique */ 1
        10: .line 455
            iload 3 /* unique */
            getstatic java.util.logging.FileHandler.maxLocks:I
            if_icmple 14
        11: .line 456
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't get lock for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 457
            ldc ", maxLocks: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            getstatic java.util.logging.FileHandler.maxLocks:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 456
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
            iconst_0
            iload 3 /* unique */
            invokevirtual java.util.logging.FileHandler.generate:(Ljava/lang/String;II)Ljava/io/File;
            invokevirtual java.io.File.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".lck"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
        15: .line 465
            getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
            dup
            astore 4
            monitorenter
        16: .line 466
            getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 469
            aload 4
            monitorexit
        18: goto 9
        19: .line 472
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
            iconst_0
            anewarray java.lang.String
            invokestatic java.nio.file.Paths.get:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
            astore 5 /* lockFilePath */
        start local 5 // java.nio.file.Path lockFilePath
        20: .line 473
            aconst_null
            astore 6 /* channel */
        start local 6 // java.nio.channels.FileChannel channel
        21: .line 474
            iconst_m1
            istore 7 /* retries */
        start local 7 // int retries
        22: .line 475
            iconst_0
            istore 8 /* fileCreated */
        start local 8 // boolean fileCreated
        23: .line 476
            goto 40
        24: .line 478
      StackMap locals: java.util.logging.FileHandler java.util.logging.LogManager java.util.logging.FileHandler$InitializationErrorManager int java.util.Set java.nio.file.Path java.nio.channels.FileChannel int int
      StackMap stack:
            aload 5 /* lockFilePath */
            iconst_2
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
        25: .line 479
            getstatic java.nio.file.StandardOpenOption.CREATE_NEW:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
        26: .line 478
            invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
            astore 6 /* channel */
        27: .line 480
            iconst_1
            istore 8 /* fileCreated */
        28: .line 481
            goto 40
      StackMap locals:
      StackMap stack: java.nio.file.FileAlreadyExistsException
        29: pop
        30: .line 487
            aload 5 /* lockFilePath */
            iconst_1
            anewarray java.nio.file.LinkOption
            dup
            iconst_0
            getstatic java.nio.file.LinkOption.NOFOLLOW_LINKS:Ljava/nio/file/LinkOption;
            aastore
            invokestatic java.nio.file.Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
            ifeq 41
        31: .line 488
            aload 0 /* this */
            aload 5 /* lockFilePath */
            invokevirtual java.util.logging.FileHandler.isParentWritable:(Ljava/nio/file/Path;)Z
            ifeq 41
        32: .line 490
            aload 5 /* lockFilePath */
            iconst_2
            anewarray java.nio.file.OpenOption
            dup
            iconst_0
        33: .line 491
            getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
            aastore
            dup
            iconst_1
            getstatic java.nio.file.StandardOpenOption.APPEND:Ljava/nio/file/StandardOpenOption;
            aastore
        34: .line 490
            invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
            astore 6 /* channel */
        35: .line 492
            goto 40
      StackMap locals:
      StackMap stack: java.nio.file.NoSuchFileException
        36: pop
        37: .line 496
            goto 40
        38: .line 497
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        39: .line 500
            goto 41
        40: .line 476
      StackMap locals:
      StackMap stack:
            aload 6 /* channel */
            ifnonnull 41
            iload 7 /* retries */
            iinc 7 /* retries */ 1
            iconst_1
            if_icmplt 24
        41: .line 510
      StackMap locals:
      StackMap stack:
            aload 6 /* channel */
            ifnonnull 43
            aload 4
            monitorexit
        42: goto 9
        43: .line 511
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* channel */
            putfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
        44: .line 515
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.tryLock:()Ljava/nio/channels/FileLock;
            ifnull 45
            iconst_1
            goto 46
      StackMap locals:
      StackMap stack:
        45: iconst_0
      StackMap locals:
      StackMap stack: int
        46: istore 9 /* available */
        start local 9 // boolean available
        47: .line 523
            goto 53
        end local 9 // boolean available
      StackMap locals:
      StackMap stack: java.io.IOException
        48: pop
        49: .line 529
            iload 8 /* fileCreated */
            istore 9 /* available */
        start local 9 // boolean available
        50: goto 53
        end local 9 // boolean available
        51: .line 530
      StackMap locals:
      StackMap stack: java.nio.channels.OverlappingFileLockException
            pop
        52: .line 535
            iconst_0
            istore 9 /* available */
        start local 9 // boolean available
        53: .line 537
      StackMap locals: int
      StackMap stack:
            iload 9 /* available */
            ifeq 57
        54: .line 539
            getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        55: .line 540
            aload 4
            monitorexit
        56: goto 62
        57: .line 544
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.close:()V
        end local 9 // boolean available
        end local 8 // boolean fileCreated
        end local 7 // int retries
        end local 6 // java.nio.channels.FileChannel channel
        end local 5 // java.nio.file.Path lockFilePath
        58: .line 465
            aload 4
            monitorexit
        59: goto 9
      StackMap locals: java.util.logging.FileHandler java.util.logging.LogManager java.util.logging.FileHandler$InitializationErrorManager int java.util.Set
      StackMap stack: java.lang.Throwable
        60: aload 4
            monitorexit
        61: athrow
        62: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            anewarray java.io.File
            putfield java.util.logging.FileHandler.files:[Ljava/io/File;
        63: .line 549
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        64: goto 67
        65: .line 550
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.logging.FileHandler.files:[Ljava/io/File;
            iload 4 /* i */
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.pattern:Ljava/lang/String;
            iload 4 /* i */
            iload 3 /* unique */
            invokevirtual java.util.logging.FileHandler.generate:(Ljava/lang/String;II)Ljava/io/File;
            aastore
        66: .line 549
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 4 /* i */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            if_icmplt 65
        end local 4 // int i
        68: .line 554
            aload 0 /* this */
            getfield java.util.logging.FileHandler.append:Z
            ifeq 71
        69: .line 555
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.files:[Ljava/io/File;
            iconst_0
            aaload
            iconst_1
            invokevirtual java.util.logging.FileHandler.open:(Ljava/io/File;Z)V
        70: .line 556
            goto 72
        71: .line 557
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.rotate:()V
        72: .line 561
      StackMap locals:
      StackMap stack:
            aload 2 /* em */
            getfield java.util.logging.FileHandler$InitializationErrorManager.lastException:Ljava/lang/Exception;
            astore 4 /* ex */
        start local 4 // java.lang.Exception ex
        73: .line 562
            aload 4 /* ex */
            ifnull 79
        74: .line 563
            aload 4 /* ex */
            instanceof java.io.IOException
            ifeq 76
        75: .line 564
            aload 4 /* ex */
            checkcast java.io.IOException
            athrow
        76: .line 565
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 4 /* ex */
            instanceof java.lang.SecurityException
            ifeq 78
        77: .line 566
            aload 4 /* ex */
            checkcast java.lang.SecurityException
            athrow
        78: .line 568
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        79: .line 573
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.logging.ErrorManager
            dup
            invokespecial java.util.logging.ErrorManager.<init>:()V
            invokevirtual java.util.logging.FileHandler.setErrorManager:(Ljava/util/logging/ErrorManager;)V
        80: .line 574
            return
        end local 4 // java.lang.Exception ex
        end local 3 // int unique
        end local 2 // java.util.logging.FileHandler$InitializationErrorManager em
        end local 1 // java.util.logging.LogManager manager
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   81     0          this  Ljava/util/logging/FileHandler;
            1   81     1       manager  Ljava/util/logging/LogManager;
            7   81     2            em  Ljava/util/logging/FileHandler$InitializationErrorManager;
            9   81     3        unique  I
           20   58     5  lockFilePath  Ljava/nio/file/Path;
           21   58     6       channel  Ljava/nio/channels/FileChannel;
           22   58     7       retries  I
           23   58     8   fileCreated  Z
           47   48     9     available  Z
           50   51     9     available  Z
           53   58     9     available  Z
           64   68     4             i  I
           73   81     4            ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          24    28      29  Class java.nio.file.FileAlreadyExistsException
          32    35      36  Class java.nio.file.NoSuchFileException
          32    35      38  Class java.io.IOException
          44    47      48  Class java.io.IOException
          44    47      51  Class java.nio.channels.OverlappingFileLockException
          16    18      60  any
          19    42      60  any
          43    56      60  any
          57    59      60  any
          60    61      60  any
    Exceptions:
      throws java.io.IOException

  private java.io.File generate(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.lang.String pattern
        start local 2 // int generation
        start local 3 // int unique
         0: .line 587
            aconst_null
            astore 4 /* file */
        start local 4 // java.io.File file
         1: .line 588
            ldc ""
            astore 5 /* word */
        start local 5 // java.lang.String word
         2: .line 589
            iconst_0
            istore 6 /* ix */
        start local 6 // int ix
         3: .line 590
            iconst_0
            istore 7 /* sawg */
        start local 7 // boolean sawg
         4: .line 591
            iconst_0
            istore 8 /* sawu */
        start local 8 // boolean sawu
         5: .line 592
            goto 49
         6: .line 593
      StackMap locals: java.util.logging.FileHandler java.lang.String int int java.io.File java.lang.String int int int
      StackMap stack:
            aload 1 /* pattern */
            iload 6 /* ix */
            invokevirtual java.lang.String.charAt:(I)C
            istore 9 /* ch */
        start local 9 // char ch
         7: .line 594
            iinc 6 /* ix */ 1
         8: .line 595
            iconst_0
            istore 10 /* ch2 */
        start local 10 // char ch2
         9: .line 596
            iload 6 /* ix */
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            if_icmpge 11
        10: .line 597
            aload 1 /* pattern */
            iload 6 /* ix */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.toLowerCase:(C)C
            istore 10 /* ch2 */
        11: .line 599
      StackMap locals: int int
      StackMap stack:
            iload 9 /* ch */
            bipush 47
            if_icmpne 18
        12: .line 600
            aload 4 /* file */
            ifnonnull 15
        13: .line 601
            new java.io.File
            dup
            aload 5 /* word */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        14: .line 602
            goto 16
        15: .line 603
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* file */
            aload 5 /* word */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* file */
        16: .line 605
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 5 /* word */
        17: .line 606
            goto 49
        18: .line 607
      StackMap locals:
      StackMap stack:
            iload 9 /* ch */
            bipush 37
            if_icmpne 48
        19: .line 608
            iload 10 /* ch2 */
            bipush 116
            if_icmpne 27
        20: .line 609
            ldc "java.io.tmpdir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* tmpDir */
        start local 11 // java.lang.String tmpDir
        21: .line 610
            aload 11 /* tmpDir */
            ifnonnull 23
        22: .line 611
            ldc "user.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* tmpDir */
        23: .line 613
      StackMap locals: java.lang.String
      StackMap stack:
            new java.io.File
            dup
            aload 11 /* tmpDir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        24: .line 614
            iinc 6 /* ix */ 1
        25: .line 615
            ldc ""
            astore 5 /* word */
        26: .line 616
            goto 49
        end local 11 // java.lang.String tmpDir
        27: .line 617
      StackMap locals:
      StackMap stack:
            iload 10 /* ch2 */
            bipush 104
            if_icmpne 34
        28: .line 618
            new java.io.File
            dup
            ldc "user.home"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        29: .line 619
            invokestatic java.util.logging.FileHandler.isSetUID:()Z
            ifeq 31
        30: .line 622
            new java.io.IOException
            dup
            ldc "can't use %h in set UID program"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 624
      StackMap locals:
      StackMap stack:
            iinc 6 /* ix */ 1
        32: .line 625
            ldc ""
            astore 5 /* word */
        33: .line 626
            goto 49
        34: .line 627
      StackMap locals:
      StackMap stack:
            iload 10 /* ch2 */
            bipush 103
            if_icmpne 39
        35: .line 628
            new java.lang.StringBuilder
            dup
            aload 5 /* word */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* generation */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* word */
        36: .line 629
            iconst_1
            istore 7 /* sawg */
        37: .line 630
            iinc 6 /* ix */ 1
        38: .line 631
            goto 49
        39: .line 632
      StackMap locals:
      StackMap stack:
            iload 10 /* ch2 */
            bipush 117
            if_icmpne 44
        40: .line 633
            new java.lang.StringBuilder
            dup
            aload 5 /* word */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* unique */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* word */
        41: .line 634
            iconst_1
            istore 8 /* sawu */
        42: .line 635
            iinc 6 /* ix */ 1
        43: .line 636
            goto 49
        44: .line 637
      StackMap locals:
      StackMap stack:
            iload 10 /* ch2 */
            bipush 37
            if_icmpne 48
        45: .line 638
            new java.lang.StringBuilder
            dup
            aload 5 /* word */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "%"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* word */
        46: .line 639
            iinc 6 /* ix */ 1
        47: .line 640
            goto 49
        48: .line 643
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 5 /* word */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 9 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* word */
        end local 10 // char ch2
        end local 9 // char ch
        49: .line 592
      StackMap locals:
      StackMap stack:
            iload 6 /* ix */
            aload 1 /* pattern */
            invokevirtual java.lang.String.length:()I
            if_icmplt 6
        50: .line 645
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            iconst_1
            if_icmple 52
            iload 7 /* sawg */
            ifne 52
        51: .line 646
            new java.lang.StringBuilder
            dup
            aload 5 /* word */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* generation */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* word */
        52: .line 648
      StackMap locals:
      StackMap stack:
            iload 3 /* unique */
            ifle 54
            iload 8 /* sawu */
            ifne 54
        53: .line 649
            new java.lang.StringBuilder
            dup
            aload 5 /* word */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* unique */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* word */
        54: .line 651
      StackMap locals:
      StackMap stack:
            aload 5 /* word */
            invokevirtual java.lang.String.length:()I
            ifle 59
        55: .line 652
            aload 4 /* file */
            ifnonnull 58
        56: .line 653
            new java.io.File
            dup
            aload 5 /* word */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        57: .line 654
            goto 59
        58: .line 655
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 4 /* file */
            aload 5 /* word */
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 4 /* file */
        59: .line 658
      StackMap locals:
      StackMap stack:
            aload 4 /* file */
            areturn
        end local 8 // boolean sawu
        end local 7 // boolean sawg
        end local 6 // int ix
        end local 5 // java.lang.String word
        end local 4 // java.io.File file
        end local 3 // int unique
        end local 2 // int generation
        end local 1 // java.lang.String pattern
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   60     0        this  Ljava/util/logging/FileHandler;
            0   60     1     pattern  Ljava/lang/String;
            0   60     2  generation  I
            0   60     3      unique  I
            1   60     4        file  Ljava/io/File;
            2   60     5        word  Ljava/lang/String;
            3   60     6          ix  I
            4   60     7        sawg  Z
            5   60     8        sawu  Z
            7   49     9          ch  C
            9   49    10         ch2  C
           21   27    11      tmpDir  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      pattern     
      generation  
      unique      

  private synchronized void rotate();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.logging.FileHandler this
         0: .line 665
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.getLevel:()Ljava/util/logging/Level;
            astore 1 /* oldLevel */
        start local 1 // java.util.logging.Level oldLevel
         1: .line 666
            aload 0 /* this */
            getstatic java.util.logging.Level.OFF:Ljava/util/logging/Level;
            invokevirtual java.util.logging.FileHandler.setLevel:(Ljava/util/logging/Level;)V
         2: .line 668
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.close:()V
         3: .line 669
            aload 0 /* this */
            getfield java.util.logging.FileHandler.count:I
            iconst_2
            isub
            istore 2 /* i */
        start local 2 // int i
         4: goto 12
         5: .line 670
      StackMap locals: java.util.logging.Level int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.logging.FileHandler.files:[Ljava/io/File;
            iload 2 /* i */
            aaload
            astore 3 /* f1 */
        start local 3 // java.io.File f1
         6: .line 671
            aload 0 /* this */
            getfield java.util.logging.FileHandler.files:[Ljava/io/File;
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            astore 4 /* f2 */
        start local 4 // java.io.File f2
         7: .line 672
            aload 3 /* f1 */
            invokevirtual java.io.File.exists:()Z
            ifeq 11
         8: .line 673
            aload 4 /* f2 */
            invokevirtual java.io.File.exists:()Z
            ifeq 10
         9: .line 674
            aload 4 /* f2 */
            invokevirtual java.io.File.delete:()Z
            pop
        10: .line 676
      StackMap locals: java.io.File java.io.File
      StackMap stack:
            aload 3 /* f1 */
            aload 4 /* f2 */
            invokevirtual java.io.File.renameTo:(Ljava/io/File;)Z
            pop
        end local 4 // java.io.File f2
        end local 3 // java.io.File f1
        11: .line 669
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ -1
      StackMap locals:
      StackMap stack:
        12: iload 2 /* i */
            ifge 5
        end local 2 // int i
        13: .line 680
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.logging.FileHandler.files:[Ljava/io/File;
            iconst_0
            aaload
            iconst_0
            invokevirtual java.util.logging.FileHandler.open:(Ljava/io/File;Z)V
        14: .line 681
            goto 17
      StackMap locals: java.util.logging.FileHandler java.util.logging.Level
      StackMap stack: java.io.IOException
        15: astore 2 /* ix */
        start local 2 // java.io.IOException ix
        16: .line 684
            aload 0 /* this */
            aconst_null
            aload 2 /* ix */
            iconst_4
            invokevirtual java.util.logging.FileHandler.reportError:(Ljava/lang/String;Ljava/lang/Exception;I)V
        end local 2 // java.io.IOException ix
        17: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* oldLevel */
            invokevirtual java.util.logging.FileHandler.setLevel:(Ljava/util/logging/Level;)V
        18: .line 688
            return
        end local 1 // java.util.logging.Level oldLevel
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Ljava/util/logging/FileHandler;
            1   19     1  oldLevel  Ljava/util/logging/Level;
            4   13     2         i  I
            6   11     3        f1  Ljava/io/File;
            7   11     4        f2  Ljava/io/File;
           16   17     2        ix  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          13    14      15  Class java.io.IOException

  public synchronized void publish(java.util.logging.LogRecord);
    descriptor: (Ljava/util/logging/LogRecord;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.logging.FileHandler this
        start local 1 // java.util.logging.LogRecord record
         0: .line 698
            aload 0 /* this */
            aload 1 /* record */
            invokevirtual java.util.logging.FileHandler.isLoggable:(Ljava/util/logging/LogRecord;)Z
            ifne 2
         1: .line 699
            return
         2: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* record */
            invokespecial java.util.logging.StreamHandler.publish:(Ljava/util/logging/LogRecord;)V
         3: .line 702
            aload 0 /* this */
            invokevirtual java.util.logging.FileHandler.flush:()V
         4: .line 703
            aload 0 /* this */
            getfield java.util.logging.FileHandler.limit:I
            ifle 6
            aload 0 /* this */
            getfield java.util.logging.FileHandler.meter:Ljava/util/logging/FileHandler$MeteredStream;
            getfield java.util.logging.FileHandler$MeteredStream.written:I
            aload 0 /* this */
            getfield java.util.logging.FileHandler.limit:I
            if_icmplt 6
         5: .line 709
            new java.util.logging.FileHandler$1
            dup
            aload 0 /* this */
            invokespecial java.util.logging.FileHandler$1.<init>:(Ljava/util/logging/FileHandler;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         6: .line 717
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.logging.LogRecord record
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljava/util/logging/FileHandler;
            0    7     1  record  Ljava/util/logging/LogRecord;
    MethodParameters:
        Name  Flags
      record  

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.logging.FileHandler this
         0: .line 727
            aload 0 /* this */
            invokespecial java.util.logging.StreamHandler.close:()V
         1: .line 729
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
            ifnonnull 3
         2: .line 730
            return
         3: .line 734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
            invokevirtual java.nio.channels.FileChannel.close:()V
         4: .line 735
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 738
      StackMap locals:
      StackMap stack:
            getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
            dup
            astore 1
            monitorenter
         7: .line 739
            getstatic java.util.logging.FileHandler.locks:Ljava/util/Set;
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         8: .line 738
            aload 1
            monitorexit
         9: goto 12
      StackMap locals: java.util.logging.FileHandler java.util.Set
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 741
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* this */
            getfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.delete:()Z
            pop
        13: .line 742
            aload 0 /* this */
            aconst_null
            putfield java.util.logging.FileHandler.lockFileName:Ljava/lang/String;
        14: .line 743
            aload 0 /* this */
            aconst_null
            putfield java.util.logging.FileHandler.lockFileChannel:Ljava/nio/channels/FileChannel;
        15: .line 744
            return
        end local 0 // java.util.logging.FileHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/util/logging/FileHandler;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
           7     9      10  any
          10    11      10  any
    Exceptions:
      throws java.lang.SecurityException

  private static native boolean isSetUID();
    descriptor: ()Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static java.lang.Integer lambda$0();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 171
            ldc "jdk.internal.FileHandlerLogging.maxLocks"
         1: .line 172
            bipush 100
         2: .line 170
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
         3: .line 172
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "FileHandler.java"
NestMembers:
  java.util.logging.FileHandler$1  java.util.logging.FileHandler$InitializationErrorManager  java.util.logging.FileHandler$MeteredStream
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  java.util.logging.FileHandler$1
  private InitializationErrorManager = java.util.logging.FileHandler$InitializationErrorManager of java.util.logging.FileHandler
  private MeteredStream = java.util.logging.FileHandler$MeteredStream of java.util.logging.FileHandler