class java.util.prefs.FileSystemPreferences extends java.util.prefs.AbstractPreferences
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.prefs.FileSystemPreferences
  super_class: java.util.prefs.AbstractPreferences
{
  private static final int SYNC_INTERVAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static java.io.File systemRootDir;
    descriptor: Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean isSystemRootWritable;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.io.File userRootDir;
    descriptor: Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean isUserRootWritable;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static volatile java.util.prefs.Preferences userRoot;
    descriptor: Ljava/util/prefs/Preferences;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

  private static volatile java.util.prefs.Preferences systemRoot;
    descriptor: Ljava/util/prefs/Preferences;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

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

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

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

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

  static java.io.File userLockFile;
    descriptor: Ljava/io/File;
    flags: (0x0008) ACC_STATIC

  static java.io.File systemLockFile;
    descriptor: Ljava/io/File;
    flags: (0x0008) ACC_STATIC

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

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

  private final java.io.File dir;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.File prefsFile;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.io.File tmpFile;
    descriptor: Ljava/io/File;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static java.io.File userRootModFile;
    descriptor: Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean isUserRootModified;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static long userRootModTime;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.io.File systemRootModFile;
    descriptor: Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean isSystemRootModified;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static long systemRootModTime;
    descriptor: J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private java.util.Map<java.lang.String, java.lang.String> prefsCache;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private long lastSyncTime;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  final java.util.List<java.util.prefs.FileSystemPreferences$Change> changeLog;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Ljava/util/prefs/FileSystemPreferences$Change;>;

  java.util.prefs.FileSystemPreferences$NodeCreate nodeCreate;
    descriptor: Ljava/util/prefs/FileSystemPreferences$NodeCreate;
    flags: (0x0000) 

  private static java.util.Timer syncTimer;
    descriptor: Ljava/util/Timer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final boolean isUserNode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.lang.String[] EMPTY_STRING_ARRAY;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 52
            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/prefs/FileSystemPreferences.lambda$0()Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
            astore 0 /* load */
        start local 0 // java.security.PrivilegedAction load
         1: .line 56
            aload 0 /* load */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 0 // java.security.PrivilegedAction load
         2: .line 62
            iconst_1
         3: .line 63
            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/prefs/FileSystemPreferences.lambda$1()Ljava/lang/Integer; (6)
                  ()Ljava/lang/Integer;
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 62
            invokestatic java.lang.Math.max:(II)I
            putstatic java.util.prefs.FileSystemPreferences.SYNC_INTERVAL:I
         5: .line 263
            iconst_0
            putstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
         6: .line 270
            iconst_0
            putstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
         7: .line 306
            iconst_0
            putstatic java.util.prefs.FileSystemPreferences.isUserRootModified:Z
         8: .line 323
            iconst_0
            putstatic java.util.prefs.FileSystemPreferences.isSystemRootModified:Z
         9: .line 444
            new java.util.Timer
            dup
            iconst_1
            invokespecial java.util.Timer.<init>:(Z)V
            putstatic java.util.prefs.FileSystemPreferences.syncTimer:Ljava/util/Timer;
        10: .line 448
            getstatic java.util.prefs.FileSystemPreferences.syncTimer:Ljava/util/Timer;
            new java.util.prefs.FileSystemPreferences$1
            dup
            invokespecial java.util.prefs.FileSystemPreferences$1.<init>:()V
        11: .line 452
            getstatic java.util.prefs.FileSystemPreferences.SYNC_INTERVAL:I
            sipush 1000
            imul
            i2l
            getstatic java.util.prefs.FileSystemPreferences.SYNC_INTERVAL:I
            sipush 1000
            imul
            i2l
        12: .line 448
            invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
        13: .line 455
            new java.util.prefs.FileSystemPreferences$2
            dup
            invokespecial java.util.prefs.FileSystemPreferences$2.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        14: .line 680
            iconst_0
            anewarray java.lang.String
            putstatic java.util.prefs.FileSystemPreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
        15: .line 988
            bipush 50
            putstatic java.util.prefs.FileSystemPreferences.INIT_SLEEP_TIME:I
        16: .line 993
            iconst_5
            putstatic java.util.prefs.FileSystemPreferences.MAX_ATTEMPTS:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1    2     0  load  Ljava/security/PrivilegedAction<Ljava/lang/Void;>;

  private static sun.util.logging.PlatformLogger getLogger();
    descriptor: ()Lsun/util/logging/PlatformLogger;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 71
            ldc "java.util.prefs"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.util.prefs.Preferences getUserRoot();
    descriptor: ()Ljava/util/prefs/Preferences;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 100
            getstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
        start local 0 // java.util.prefs.Preferences root
         1: .line 101
            aload 0 /* root */
            ifnonnull 11
         2: .line 102
            ldc Ljava/util/prefs/FileSystemPreferences;
            dup
            astore 1
            monitorenter
         3: .line 103
            getstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
         4: .line 104
            aload 0 /* root */
            ifnonnull 7
         5: .line 105
            invokestatic java.util.prefs.FileSystemPreferences.setupUserRoot:()V
         6: .line 106
            new java.util.prefs.FileSystemPreferences
            dup
            iconst_1
            invokespecial java.util.prefs.FileSystemPreferences.<init>:(Z)V
            dup
            astore 0 /* root */
            putstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
         7: .line 102
      StackMap locals: java.util.prefs.Preferences java.lang.Class
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        end local 0 // java.util.prefs.Preferences root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   12     0  root  Ljava/util/prefs/Preferences;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any

  private static void setupUserRoot();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 114
            new java.util.prefs.FileSystemPreferences$3
            dup
            invokespecial java.util.prefs.FileSystemPreferences$3.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 158
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.util.prefs.Preferences getSystemRoot();
    descriptor: ()Ljava/util/prefs/Preferences;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=0
         0: .line 167
            getstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
        start local 0 // java.util.prefs.Preferences root
         1: .line 168
            aload 0 /* root */
            ifnonnull 11
         2: .line 169
            ldc Ljava/util/prefs/FileSystemPreferences;
            dup
            astore 1
            monitorenter
         3: .line 170
            getstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
            astore 0 /* root */
         4: .line 171
            aload 0 /* root */
            ifnonnull 7
         5: .line 172
            invokestatic java.util.prefs.FileSystemPreferences.setupSystemRoot:()V
         6: .line 173
            new java.util.prefs.FileSystemPreferences
            dup
            iconst_0
            invokespecial java.util.prefs.FileSystemPreferences.<init>:(Z)V
            dup
            astore 0 /* root */
            putstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
         7: .line 169
      StackMap locals: java.util.prefs.Preferences java.lang.Class
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* root */
            areturn
        end local 0 // java.util.prefs.Preferences root
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            1   12     0  root  Ljava/util/prefs/Preferences;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any

  private static void setupSystemRoot();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 181
            new java.util.prefs.FileSystemPreferences$4
            dup
            invokespecial java.util.prefs.FileSystemPreferences$4.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 231
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void replayChanges();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 440
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            istore 2 /* n */
        start local 2 // int n
         2: goto 5
         3: .line 441
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            iload 1 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.prefs.FileSystemPreferences$Change
            invokevirtual java.util.prefs.FileSystemPreferences$Change.replay:()V
         4: .line 440
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            iload 2 /* n */
            if_icmplt 3
        end local 2 // int n
        end local 1 // int i
         6: .line 442
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/prefs/FileSystemPreferences;
            1    6     1     i  I
            2    6     2     n  I

  private static void syncWorld();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 476
            ldc Ljava/util/prefs/FileSystemPreferences;
            dup
            astore 2
            monitorenter
         1: .line 477
            getstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
            astore 0 /* userRt */
        start local 0 // java.util.prefs.Preferences userRt
         2: .line 478
            getstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
            astore 1 /* systemRt */
        start local 1 // java.util.prefs.Preferences systemRt
         3: .line 476
            aload 2
            monitorexit
         4: goto 7
        end local 1 // java.util.prefs.Preferences systemRt
        end local 0 // java.util.prefs.Preferences userRt
      StackMap locals: top top java.lang.Class
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
        start local 0 // java.util.prefs.Preferences userRt
        start local 1 // java.util.prefs.Preferences systemRt
         7: .line 482
      StackMap locals: java.util.prefs.Preferences java.util.prefs.Preferences
      StackMap stack:
            aload 0 /* userRt */
            ifnull 12
         8: .line 483
            aload 0 /* userRt */
            invokevirtual java.util.prefs.Preferences.flush:()V
         9: .line 484
            goto 12
      StackMap locals:
      StackMap stack: java.util.prefs.BackingStoreException
        10: astore 2 /* e */
        start local 2 // java.util.prefs.BackingStoreException e
        11: .line 485
            invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Couldn't flush user prefs: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        end local 2 // java.util.prefs.BackingStoreException e
        12: .line 489
      StackMap locals:
      StackMap stack:
            aload 1 /* systemRt */
            ifnull 17
        13: .line 490
            aload 1 /* systemRt */
            invokevirtual java.util.prefs.Preferences.flush:()V
        14: .line 491
            goto 17
      StackMap locals:
      StackMap stack: java.util.prefs.BackingStoreException
        15: astore 2 /* e */
        start local 2 // java.util.prefs.BackingStoreException e
        16: .line 492
            invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Couldn't flush system prefs: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        end local 2 // java.util.prefs.BackingStoreException e
        17: .line 494
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.prefs.Preferences systemRt
        end local 0 // java.util.prefs.Preferences userRt
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            2    5     0    userRt  Ljava/util/prefs/Preferences;
            7   18     0    userRt  Ljava/util/prefs/Preferences;
            3    5     1  systemRt  Ljava/util/prefs/Preferences;
            7   18     1  systemRt  Ljava/util/prefs/Preferences;
           11   12     2         e  Ljava/util/prefs/BackingStoreException;
           16   17     2         e  Ljava/util/prefs/BackingStoreException;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
           7     9      10  Class java.util.prefs.BackingStoreException
          12    14      15  Class java.util.prefs.BackingStoreException

  private void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // boolean user
         0: .line 503
            aload 0 /* this */
            aconst_null
            ldc ""
            invokespecial java.util.prefs.AbstractPreferences.<init>:(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V
         1: .line 339
            aload 0 /* this */
            aconst_null
            putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
         2: .line 350
            aload 0 /* this */
            lconst_0
            putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
         3: .line 375
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
         4: .line 434
            aload 0 /* this */
            aconst_null
            putfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
         5: .line 504
            aload 0 /* this */
            iload 1 /* user */
            putfield java.util.prefs.FileSystemPreferences.isUserNode:Z
         6: .line 505
            aload 0 /* this */
            iload 1 /* user */
            ifeq 7
            getstatic java.util.prefs.FileSystemPreferences.userRootDir:Ljava/io/File;
            goto 8
      StackMap locals: java.util.prefs.FileSystemPreferences int
      StackMap stack: java.util.prefs.FileSystemPreferences
         7: getstatic java.util.prefs.FileSystemPreferences.systemRootDir:Ljava/io/File;
      StackMap locals: java.util.prefs.FileSystemPreferences int
      StackMap stack: java.util.prefs.FileSystemPreferences java.io.File
         8: putfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
         9: .line 506
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
            ldc "prefs.xml"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
        10: .line 507
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
            ldc "prefs.tmp"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.prefs.FileSystemPreferences.tmpFile:Ljava/io/File;
        11: .line 508
            return
        end local 1 // boolean user
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/util/prefs/FileSystemPreferences;
            0   12     1  user  Z
    MethodParameters:
      Name  Flags
      user  

  private void <init>(java.util.prefs.FileSystemPreferences, java.lang.String);
    descriptor: (Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // java.util.prefs.FileSystemPreferences parent
        start local 2 // java.lang.String name
         0: .line 516
            aload 0 /* this */
            aload 1 /* parent */
            aload 2 /* name */
            invokespecial java.util.prefs.AbstractPreferences.<init>:(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V
         1: .line 339
            aload 0 /* this */
            aconst_null
            putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
         2: .line 350
            aload 0 /* this */
            lconst_0
            putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
         3: .line 375
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
         4: .line 434
            aload 0 /* this */
            aconst_null
            putfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
         5: .line 517
            aload 0 /* this */
            aload 1 /* parent */
            getfield java.util.prefs.FileSystemPreferences.isUserNode:Z
            putfield java.util.prefs.FileSystemPreferences.isUserNode:Z
         6: .line 518
            aload 0 /* this */
            new java.io.File
            dup
            aload 1 /* parent */
            getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
            aload 2 /* name */
            invokestatic java.util.prefs.FileSystemPreferences.dirName:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
         7: .line 519
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
            ldc "prefs.xml"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
         8: .line 520
            aload 0 /* this */
            new java.io.File
            dup
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
            ldc "prefs.tmp"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.prefs.FileSystemPreferences.tmpFile:Ljava/io/File;
         9: .line 521
            new java.util.prefs.FileSystemPreferences$5
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$5.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        10: .line 527
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.newNode:Z
            ifeq 14
        11: .line 529
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
        12: .line 530
            aload 0 /* this */
            new java.util.prefs.FileSystemPreferences$NodeCreate
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$NodeCreate.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
            putfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
        13: .line 531
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 533
      StackMap locals: java.util.prefs.FileSystemPreferences java.util.prefs.FileSystemPreferences java.lang.String
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // java.util.prefs.FileSystemPreferences parent
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljava/util/prefs/FileSystemPreferences;
            0   15     1  parent  Ljava/util/prefs/FileSystemPreferences;
            0   15     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      parent  
      name    

  public boolean isUserNode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 536
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.isUserNode:Z
            ireturn
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/prefs/FileSystemPreferences;

  protected void putSpi(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 540
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
         1: .line 541
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            new java.util.prefs.FileSystemPreferences$Put
            dup
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            invokespecial java.util.prefs.FileSystemPreferences$Put.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 542
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            aload 1 /* key */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 543
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/util/prefs/FileSystemPreferences;
            0    4     1    key  Ljava/lang/String;
            0    4     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  protected java.lang.String getSpi(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // java.lang.String key
         0: .line 546
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
         1: .line 547
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String key
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/prefs/FileSystemPreferences;
            0    2     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  protected void removeSpi(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // java.lang.String key
         0: .line 551
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
         1: .line 552
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            new java.util.prefs.FileSystemPreferences$Remove
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokespecial java.util.prefs.FileSystemPreferences$Remove.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         2: .line 553
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 554
            return
        end local 1 // java.lang.String key
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/prefs/FileSystemPreferences;
            0    4     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  private void initCacheIfNecessary();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 565
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            ifnull 2
         1: .line 566
            return
         2: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.loadCache:()V
         3: .line 570
            goto 6
      StackMap locals:
      StackMap stack: java.lang.Exception
         4: pop
         5: .line 572
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
         6: .line 574
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/prefs/FileSystemPreferences;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Exception

  private void loadCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 587
            new java.util.prefs.FileSystemPreferences$6
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$6.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
         1: .line 586
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         2: .line 617
            goto 5
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         3: astore 1 /* e */
        start local 1 // java.security.PrivilegedActionException e
         4: .line 618
            aload 1 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.util.prefs.BackingStoreException
            athrow
        end local 1 // java.security.PrivilegedActionException e
         5: .line 620
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/prefs/FileSystemPreferences;
            4    5     1     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.util.prefs.BackingStoreException

  private void writeBackCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 634
            new java.util.prefs.FileSystemPreferences$7
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$7.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
         1: .line 633
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         2: .line 654
            goto 5
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         3: astore 1 /* e */
        start local 1 // java.security.PrivilegedActionException e
         4: .line 655
            aload 1 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.util.prefs.BackingStoreException
            athrow
        end local 1 // java.security.PrivilegedActionException e
         5: .line 657
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/prefs/FileSystemPreferences;
            4    5     1     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected java.lang.String[] keysSpi();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 660
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
         1: .line 661
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/prefs/FileSystemPreferences;

  protected java.lang.String[] childrenNamesSpi();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 666
            new java.util.prefs.FileSystemPreferences$8
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$8.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
         1: .line 665
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/prefs/FileSystemPreferences;

  protected java.util.prefs.AbstractPreferences childSpi(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // java.lang.String name
         0: .line 683
            new java.util.prefs.FileSystemPreferences
            dup
            aload 0 /* this */
            aload 1 /* name */
            invokespecial java.util.prefs.FileSystemPreferences.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/prefs/FileSystemPreferences;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void removeNode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 687
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 1
            getstatic java.util.prefs.FileSystemPreferences.userLockFile:Ljava/io/File;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.util.prefs.FileSystemPreferences.systemLockFile:Ljava/io/File;
      StackMap locals:
      StackMap stack: java.io.File
         2: dup
            astore 1
            monitorenter
         3: .line 689
            aload 0 /* this */
            iconst_0
            invokevirtual java.util.prefs.FileSystemPreferences.lockFile:(Z)Z
            ifne 5
         4: .line 690
            new java.util.prefs.BackingStoreException
            dup
            ldc "Couldn't get file lock."
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 692
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* this */
            invokespecial java.util.prefs.AbstractPreferences.removeNode:()V
         6: .line 693
            goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2
         8: .line 694
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
         9: .line 695
            aload 2
            athrow
        10: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
        11: .line 687
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 697
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/util/prefs/FileSystemPreferences;
      Exception table:
        from    to  target  type
           5     7       7  any
           3    12      13  any
          13    14      13  any
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected void removeNodeSpi();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 705
            new java.util.prefs.FileSystemPreferences$9
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$9.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
         1: .line 704
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         2: .line 731
            goto 5
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         3: astore 1 /* e */
        start local 1 // java.security.PrivilegedActionException e
         4: .line 732
            aload 1 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.util.prefs.BackingStoreException
            athrow
        end local 1 // java.security.PrivilegedActionException e
         5: .line 734
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/prefs/FileSystemPreferences;
            4    5     1     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.util.prefs.BackingStoreException

  public synchronized void sync();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 737
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            istore 1 /* userNode */
        start local 1 // boolean userNode
         1: .line 740
            iload 1 /* userNode */
            ifeq 4
         2: .line 741
            iconst_0
            istore 2 /* shared */
        start local 2 // boolean shared
         3: .line 742
            goto 7
        end local 2 // boolean shared
         4: .line 745
      StackMap locals: int
      StackMap stack:
            getstatic java.util.prefs.FileSystemPreferences.isSystemRootWritable:Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 2 /* shared */
        start local 2 // boolean shared
         7: .line 747
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 8
            getstatic java.util.prefs.FileSystemPreferences.userLockFile:Ljava/io/File;
            goto 9
      StackMap locals:
      StackMap stack:
         8: getstatic java.util.prefs.FileSystemPreferences.systemLockFile:Ljava/io/File;
      StackMap locals:
      StackMap stack: java.io.File
         9: dup
            astore 3
            monitorenter
        10: .line 748
            aload 0 /* this */
            iload 2 /* shared */
            invokevirtual java.util.prefs.FileSystemPreferences.lockFile:(Z)Z
            ifne 12
        11: .line 749
            new java.util.prefs.BackingStoreException
            dup
            ldc "Couldn't get file lock."
            invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 752
      StackMap locals: java.io.File
      StackMap stack:
            new java.util.prefs.FileSystemPreferences$10
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$10.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
        13: .line 751
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Long
        14: .line 750
            astore 4 /* newModTime */
        start local 4 // java.lang.Long newModTime
        15: .line 766
            aload 0 /* this */
            invokespecial java.util.prefs.AbstractPreferences.sync:()V
        16: .line 767
            new java.util.prefs.FileSystemPreferences$11
            dup
            aload 0 /* this */
            aload 4 /* newModTime */
            invokespecial java.util.prefs.FileSystemPreferences$11.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/Long;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        17: .line 779
            goto 21
      StackMap locals: java.util.prefs.FileSystemPreferences int int java.io.File java.lang.Long
      StackMap stack: java.lang.Throwable
        18: astore 5
        19: .line 780
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
        20: .line 781
            aload 5
            athrow
        21: .line 780
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
        end local 4 // java.lang.Long newModTime
        22: .line 747
            aload 3
            monitorexit
        23: goto 26
      StackMap locals: java.util.prefs.FileSystemPreferences int int java.io.File
      StackMap stack: java.lang.Throwable
        24: aload 3
            monitorexit
        25: athrow
        26: .line 783
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean shared
        end local 1 // boolean userNode
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Ljava/util/prefs/FileSystemPreferences;
            1   27     1    userNode  Z
            3    4     2      shared  Z
            7   27     2      shared  Z
           15   22     4  newModTime  Ljava/lang/Long;
      Exception table:
        from    to  target  type
          15    18      18  any
          10    23      24  any
          24    25      24  any
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected void syncSpi();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 788
            new java.util.prefs.FileSystemPreferences$12
            dup
            aload 0 /* this */
            invokespecial java.util.prefs.FileSystemPreferences$12.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
         1: .line 787
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            pop
         2: .line 794
            goto 5
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         3: astore 1 /* e */
        start local 1 // java.security.PrivilegedActionException e
         4: .line 795
            aload 1 /* e */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.util.prefs.BackingStoreException
            athrow
        end local 1 // java.security.PrivilegedActionException e
         5: .line 797
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/prefs/FileSystemPreferences;
            4    5     1     e  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.util.prefs.BackingStoreException

  private void syncSpiPrivileged();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 799
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isRemoved:()Z
            ifeq 2
         1: .line 800
            new java.lang.IllegalStateException
            dup
            ldc "Node has been removed"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
            ifnonnull 4
         3: .line 802
            return
         4: .line 804
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 5
            getstatic java.util.prefs.FileSystemPreferences.isUserRootModified:Z
            ifeq 12
            goto 6
      StackMap locals:
      StackMap stack:
         5: getstatic java.util.prefs.FileSystemPreferences.isSystemRootModified:Z
            ifeq 12
         6: .line 805
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
            invokevirtual java.io.File.lastModified:()J
            lstore 1 /* lastModifiedTime */
        start local 1 // long lastModifiedTime
         7: .line 806
            lload 1 /* lastModifiedTime */
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
            lcmp
            ifeq 15
         8: .line 809
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.loadCache:()V
         9: .line 810
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.replayChanges:()V
        10: .line 811
            aload 0 /* this */
            lload 1 /* lastModifiedTime */
            putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
        11: .line 813
            goto 15
        end local 1 // long lastModifiedTime
      StackMap locals:
      StackMap stack:
        12: aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
            lconst_0
            lcmp
            ifeq 15
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
            invokevirtual java.io.File.exists:()Z
            ifne 15
        13: .line 816
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
        14: .line 817
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.replayChanges:()V
        15: .line 819
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 22
        16: .line 820
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.writeBackCache:()V
        17: .line 826
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
            invokevirtual java.io.File.lastModified:()J
            lstore 1 /* lastModifiedTime */
        start local 1 // long lastModifiedTime
        18: .line 832
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
            lload 1 /* lastModifiedTime */
            lcmp
            ifgt 21
        19: .line 833
            aload 0 /* this */
            lload 1 /* lastModifiedTime */
            ldc 1000
            ladd
            putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
        20: .line 834
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
            invokevirtual java.io.File.setLastModified:(J)Z
            pop
        21: .line 836
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
        end local 1 // long lastModifiedTime
        22: .line 838
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Ljava/util/prefs/FileSystemPreferences;
            7   12     1  lastModifiedTime  J
           18   22     1  lastModifiedTime  J
    Exceptions:
      throws java.util.prefs.BackingStoreException

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 841
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isRemoved:()Z
            ifeq 2
         1: .line 842
            return
         2: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.sync:()V
         3: .line 844
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/prefs/FileSystemPreferences;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  protected void flushSpi();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 848
            return
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/prefs/FileSystemPreferences;
    Exceptions:
      throws java.util.prefs.BackingStoreException

  private static boolean isDirChar(char);
    descriptor: (C)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // char ch
         0: .line 857
            iload 0 /* ch */
            bipush 31
            if_icmple 1
            iload 0 /* ch */
            bipush 127
            if_icmpge 1
            iload 0 /* ch */
            bipush 47
            if_icmpeq 1
            iload 0 /* ch */
            bipush 46
            if_icmpeq 1
            iload 0 /* ch */
            bipush 95
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0    ch  C
    MethodParameters:
      Name  Flags
      ch    

  private static java.lang.String dirName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.String nodeName
         0: .line 867
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: aload 0 /* nodeName */
            invokevirtual java.lang.String.length:()I
            istore 2 /* n */
        start local 2 // int n
         2: goto 6
         3: .line 868
      StackMap locals: int int
      StackMap stack:
            aload 0 /* nodeName */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.util.prefs.FileSystemPreferences.isDirChar:(C)Z
            ifne 5
         4: .line 869
            new java.lang.StringBuilder
            dup
            ldc "_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* nodeName */
            invokestatic java.util.prefs.FileSystemPreferences.byteArray:(Ljava/lang/String;)[B
            invokestatic java.util.prefs.Base64.byteArrayToAltBase64:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         5: .line 867
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            iload 2 /* n */
            if_icmplt 3
        end local 2 // int n
        end local 1 // int i
         7: .line 870
            aload 0 /* nodeName */
            areturn
        end local 0 // java.lang.String nodeName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0  nodeName  Ljava/lang/String;
            1    7     1         i  I
            2    7     2         n  I
    MethodParameters:
          Name  Flags
      nodeName  

  private static byte[] byteArray(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String s
         0: .line 878
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 879
            iconst_2
            iload 1 /* len */
            imul
            newarray 8
            astore 2 /* result */
        start local 2 // byte[] result
         2: .line 880
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: iconst_0
            istore 4 /* j */
        start local 4 // int j
         4: goto 9
         5: .line 881
      StackMap locals: java.lang.String int byte[] int int
      StackMap stack:
            aload 0 /* s */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 882
            aload 2 /* result */
            iload 4 /* j */
            iinc 4 /* j */ 1
            iload 5 /* c */
            bipush 8
            ishr
            i2b
            bastore
         7: .line 883
            aload 2 /* result */
            iload 4 /* j */
            iinc 4 /* j */ 1
            iload 5 /* c */
            i2b
            bastore
        end local 5 // char c
         8: .line 880
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 1 /* len */
            if_icmplt 5
        end local 4 // int j
        end local 3 // int i
        10: .line 885
            aload 2 /* result */
            areturn
        end local 2 // byte[] result
        end local 1 // int len
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0       s  Ljava/lang/String;
            1   11     1     len  I
            2   11     2  result  [B
            3   10     3       i  I
            4   10     4       j  I
            6    8     5       c  C
    MethodParameters:
      Name  Flags
      s     

  private static java.lang.String nodeName(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String dirName
         0: .line 893
            aload 0 /* dirName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 95
            if_icmpeq 2
         1: .line 894
            aload 0 /* dirName */
            areturn
         2: .line 895
      StackMap locals:
      StackMap stack:
            aload 0 /* dirName */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.util.prefs.Base64.altBase64ToByteArray:(Ljava/lang/String;)[B
            astore 1 /* a */
        start local 1 // byte[] a
         3: .line 896
            new java.lang.StringBuffer
            dup
            aload 1 /* a */
            arraylength
            iconst_2
            idiv
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.lang.StringBuffer result
         4: .line 897
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: goto 9
         6: .line 898
      StackMap locals: byte[] java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* a */
            iload 3 /* i */
            iinc 3 /* i */ 1
            baload
            sipush 255
            iand
            istore 4 /* highByte */
        start local 4 // int highByte
         7: .line 899
            aload 1 /* a */
            iload 3 /* i */
            iinc 3 /* i */ 1
            baload
            sipush 255
            iand
            istore 5 /* lowByte */
        start local 5 // int lowByte
         8: .line 900
            aload 2 /* result */
            iload 4 /* highByte */
            bipush 8
            ishl
            iload 5 /* lowByte */
            ior
            i2c
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // int lowByte
        end local 4 // int highByte
         9: .line 897
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 1 /* a */
            arraylength
            if_icmplt 6
        end local 3 // int i
        10: .line 902
            aload 2 /* result */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer result
        end local 1 // byte[] a
        end local 0 // java.lang.String dirName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0   dirName  Ljava/lang/String;
            3   11     1         a  [B
            4   11     2    result  Ljava/lang/StringBuffer;
            5   10     3         i  I
            7    9     4  highByte  I
            8    9     5   lowByte  I
    MethodParameters:
         Name  Flags
      dirName  

  private boolean lockFile(boolean);
    descriptor: (Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // boolean shared
         0: .line 913
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            istore 2 /* usernode */
        start local 2 // boolean usernode
         1: .line 915
            iconst_0
            istore 4 /* errorCode */
        start local 4 // int errorCode
         2: .line 916
            iload 2 /* usernode */
            ifeq 3
            getstatic java.util.prefs.FileSystemPreferences.userLockFile:Ljava/io/File;
            goto 4
      StackMap locals: java.util.prefs.FileSystemPreferences int int top int
      StackMap stack:
         3: getstatic java.util.prefs.FileSystemPreferences.systemLockFile:Ljava/io/File;
      StackMap locals:
      StackMap stack: java.io.File
         4: astore 5 /* lockFile */
        start local 5 // java.io.File lockFile
         5: .line 917
            getstatic java.util.prefs.FileSystemPreferences.INIT_SLEEP_TIME:I
            i2l
            lstore 6 /* sleepTime */
        start local 6 // long sleepTime
         6: .line 918
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 27
         8: .line 920
      StackMap locals: java.io.File long int
      StackMap stack:
            iload 2 /* usernode */
            ifeq 9
            sipush 384
            goto 10
      StackMap locals:
      StackMap stack:
         9: sipush 420
      StackMap locals:
      StackMap stack: int
        10: istore 9 /* perm */
        start local 9 // int perm
        11: .line 921
            aload 5 /* lockFile */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            iload 9 /* perm */
            iload 1 /* shared */
            invokestatic java.util.prefs.FileSystemPreferences.lockFile0:(Ljava/lang/String;IZ)[I
            astore 3 /* result */
        start local 3 // int[] result
        12: .line 923
            aload 3 /* result */
            iconst_1
            iaload
            istore 4 /* errorCode */
        13: .line 924
            aload 3 /* result */
            iconst_0
            iaload
            ifeq 20
        14: .line 925
            iload 2 /* usernode */
            ifeq 17
        15: .line 926
            aload 3 /* result */
            iconst_0
            iaload
            putstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
        16: .line 927
            goto 18
        17: .line 928
      StackMap locals: java.util.prefs.FileSystemPreferences int int int[] int java.io.File long int int
      StackMap stack:
            aload 3 /* result */
            iconst_0
            iaload
            putstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
        18: .line 930
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // int perm
        end local 3 // int[] result
        19: .line 932
      StackMap locals: java.util.prefs.FileSystemPreferences int int top int java.io.File long int
      StackMap stack: java.io.IOException
            pop
        20: .line 937
      StackMap locals:
      StackMap stack:
            lload 6 /* sleepTime */
            invokestatic java.lang.Thread.sleep:(J)V
        21: .line 938
            goto 25
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        22: pop
        23: .line 939
            aload 0 /* this */
            iload 4 /* errorCode */
            invokevirtual java.util.prefs.FileSystemPreferences.checkLockFile0ErrorCode:(I)V
        24: .line 940
            iconst_0
            ireturn
        25: .line 942
      StackMap locals:
      StackMap stack:
            lload 6 /* sleepTime */
            ldc 2
            lmul
            lstore 6 /* sleepTime */
        26: .line 918
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 8 /* i */
            getstatic java.util.prefs.FileSystemPreferences.MAX_ATTEMPTS:I
            if_icmplt 8
        end local 8 // int i
        28: .line 944
            aload 0 /* this */
            iload 4 /* errorCode */
            invokevirtual java.util.prefs.FileSystemPreferences.checkLockFile0ErrorCode:(I)V
        29: .line 945
            iconst_0
            ireturn
        end local 6 // long sleepTime
        end local 5 // java.io.File lockFile
        end local 4 // int errorCode
        end local 2 // boolean usernode
        end local 1 // boolean shared
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   30     0       this  Ljava/util/prefs/FileSystemPreferences;
            0   30     1     shared  Z
            1   30     2   usernode  Z
           12   19     3     result  [I
            2   30     4  errorCode  I
            5   30     5   lockFile  Ljava/io/File;
            6   30     6  sleepTime  J
            7   28     8          i  I
           11   19     9       perm  I
      Exception table:
        from    to  target  type
           8    18      19  Class java.io.IOException
          20    21      22  Class java.lang.InterruptedException
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
        Name  Flags
      shared  

  private void checkLockFile0ErrorCode(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.prefs.FileSystemPreferences this
        start local 1 // int errorCode
         0: .line 954
            iload 1 /* errorCode */
            bipush 13
            if_icmpne 7
         1: .line 955
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not lock "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 956
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 3
            ldc "User prefs."
            goto 4
      StackMap locals: java.util.prefs.FileSystemPreferences int
      StackMap stack: new 1 new 1 java.lang.StringBuilder
         3: ldc "System prefs."
      StackMap locals: java.util.prefs.FileSystemPreferences int
      StackMap stack: new 1 new 1 java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 957
            ldc " Lock file access denied."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 955
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 958
      StackMap locals:
      StackMap stack:
            iload 1 /* errorCode */
            bipush 11
            if_icmpeq 14
         8: .line 959
            invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not lock "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 960
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 10
            ldc "User prefs. "
            goto 11
      StackMap locals: java.util.prefs.FileSystemPreferences int
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
        10: ldc "System prefs."
      StackMap locals: java.util.prefs.FileSystemPreferences int
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder java.lang.String
        11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 961
            ldc " Unix error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* errorCode */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 959
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        14: .line 962
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int errorCode
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljava/util/prefs/FileSystemPreferences;
            0   15     1  errorCode  I
    Exceptions:
      throws java.lang.SecurityException
    MethodParameters:
           Name  Flags
      errorCode  

  private static native int[] lockFile0(java.lang.String, int, boolean);
    descriptor: (Ljava/lang/String;IZ)[I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      fileName    
      permission  
      shared      

  private static native int unlockFile0(int);
    descriptor: (I)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      lockHandle  

  private static native int chmod(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      fileName    
      permission  

  private void unlockFile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // java.util.prefs.FileSystemPreferences this
         0: .line 1001
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            istore 2 /* usernode */
        start local 2 // boolean usernode
         1: .line 1002
            iload 2 /* usernode */
            ifeq 2
         2: .line 1003
      StackMap locals: java.util.prefs.FileSystemPreferences top int
      StackMap stack:
            iload 2 /* usernode */
            ifeq 3
            getstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
            goto 4
      StackMap locals:
      StackMap stack:
         3: getstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
      StackMap locals:
      StackMap stack: int
         4: istore 3 /* lockHandle */
        start local 3 // int lockHandle
         5: .line 1004
            iload 3 /* lockHandle */
            ifne 12
         6: .line 1005
            invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Unlock: zero lockHandle for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1006
            iload 2 /* usernode */
            ifeq 8
            ldc "user"
            goto 9
      StackMap locals: java.util.prefs.FileSystemPreferences top int int
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
         8: ldc "system"
      StackMap locals: java.util.prefs.FileSystemPreferences top int int
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder java.lang.String
         9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " preferences.)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 1005
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        11: .line 1007
            return
        12: .line 1009
      StackMap locals:
      StackMap stack:
            iload 3 /* lockHandle */
            invokestatic java.util.prefs.FileSystemPreferences.unlockFile0:(I)I
            istore 1 /* result */
        start local 1 // int result
        13: .line 1010
            iload 1 /* result */
            ifeq 27
        14: .line 1011
            invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
            new java.lang.StringBuilder
            dup
            ldc "Could not drop file-lock on "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 1012
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 16
            ldc "user"
            goto 17
      StackMap locals: java.util.prefs.FileSystemPreferences int int int
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
        16: ldc "system"
      StackMap locals: java.util.prefs.FileSystemPreferences int int int
      StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder java.lang.String
        17: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " preferences."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 1013
            ldc " Unix error code "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* result */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 1011
            invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
        20: .line 1014
            iload 1 /* result */
            bipush 13
            if_icmpne 27
        21: .line 1015
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not unlock"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 1016
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 23
            ldc "User prefs."
            goto 24
      StackMap locals: java.util.prefs.FileSystemPreferences int int int
      StackMap stack: new 21 new 21 java.lang.StringBuilder
        23: ldc "System prefs."
      StackMap locals: java.util.prefs.FileSystemPreferences int int int
      StackMap stack: new 21 new 21 java.lang.StringBuilder java.lang.String
        24: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 1017
            ldc " Lock file access denied."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 1015
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
            ifeq 30
        28: .line 1020
            iconst_0
            putstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
        29: .line 1021
            goto 31
        30: .line 1022
      StackMap locals:
      StackMap stack:
            iconst_0
            putstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
        31: .line 1024
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int lockHandle
        end local 2 // boolean usernode
        end local 1 // int result
        end local 0 // java.util.prefs.FileSystemPreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   32     0        this  Ljava/util/prefs/FileSystemPreferences;
           13   32     1      result  I
            1   32     2    usernode  Z
            5   32     3  lockHandle  I

  private static java.lang.Void lambda$0();
    descriptor: ()Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 53
            ldc "prefs"
            invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
         1: .line 54
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Integer lambda$1();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 64
            ldc "java.util.prefs.syncInterval"
            bipush 30
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "FileSystemPreferences.java"
NestMembers:
  java.util.prefs.FileSystemPreferences$1  java.util.prefs.FileSystemPreferences$10  java.util.prefs.FileSystemPreferences$11  java.util.prefs.FileSystemPreferences$12  java.util.prefs.FileSystemPreferences$2  java.util.prefs.FileSystemPreferences$2$1  java.util.prefs.FileSystemPreferences$3  java.util.prefs.FileSystemPreferences$4  java.util.prefs.FileSystemPreferences$5  java.util.prefs.FileSystemPreferences$6  java.util.prefs.FileSystemPreferences$7  java.util.prefs.FileSystemPreferences$8  java.util.prefs.FileSystemPreferences$9  java.util.prefs.FileSystemPreferences$Change  java.util.prefs.FileSystemPreferences$NodeCreate  java.util.prefs.FileSystemPreferences$Put  java.util.prefs.FileSystemPreferences$Remove
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  java.util.prefs.FileSystemPreferences$1
  java.util.prefs.FileSystemPreferences$10
  java.util.prefs.FileSystemPreferences$11
  java.util.prefs.FileSystemPreferences$12
  java.util.prefs.FileSystemPreferences$2
  java.util.prefs.FileSystemPreferences$3
  java.util.prefs.FileSystemPreferences$4
  java.util.prefs.FileSystemPreferences$5
  java.util.prefs.FileSystemPreferences$6
  java.util.prefs.FileSystemPreferences$7
  java.util.prefs.FileSystemPreferences$8
  java.util.prefs.FileSystemPreferences$9
  private abstract Change = java.util.prefs.FileSystemPreferences$Change of java.util.prefs.FileSystemPreferences
  private NodeCreate = java.util.prefs.FileSystemPreferences$NodeCreate of java.util.prefs.FileSystemPreferences
  private Put = java.util.prefs.FileSystemPreferences$Put of java.util.prefs.FileSystemPreferences
  private Remove = java.util.prefs.FileSystemPreferences$Remove of java.util.prefs.FileSystemPreferences