public class org.eclipse.core.internal.preferences.EclipsePreferences implements org.eclipse.core.runtime.preferences.IEclipsePreferences, org.eclipse.core.runtime.preferences.IScope
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.core.internal.preferences.EclipsePreferences
  super_class: java.lang.Object
{
  public static final java.lang.String DEFAULT_PREFERENCES_DIRNAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: ".settings"

  public static final java.lang.String PREFS_FILE_EXTENSION;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "prefs"

  protected static final org.eclipse.core.runtime.preferences.IEclipsePreferences[] EMPTY_NODE_ARRAY;
    descriptor: [Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String[] EMPTY_STRING_ARRAY;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static final java.lang.String FALSE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "false"

  private static final java.lang.String TRUE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "true"

  protected static final java.lang.String VERSION_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "eclipse.preferences.version"

  protected static final java.lang.String VERSION_VALUE;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "1"

  protected static final java.lang.String PATH_SEPARATOR;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.String DOUBLE_SLASH;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "//"

  protected static final java.lang.String EMPTY_STRING;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: ""

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

  protected org.eclipse.core.internal.preferences.ImmutableMap properties;
    descriptor: Lorg/eclipse/core/internal/preferences/ImmutableMap;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Map<java.lang.String, java.lang.Object> children;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private final java.lang.Object childAndPropertyLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected boolean dirty;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected boolean loading;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected final java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final org.eclipse.core.internal.preferences.EclipsePreferences parent;
    descriptor: Lorg/eclipse/core/internal/preferences/EclipsePreferences;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected boolean removed;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  private final org.eclipse.core.runtime.ListenerList<org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener> nodeChangeListeners;
    descriptor: Lorg/eclipse/core/runtime/ListenerList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/eclipse/core/runtime/ListenerList<Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;>;

  private final org.eclipse.core.runtime.ListenerList<org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener> preferenceChangeListeners;
    descriptor: Lorg/eclipse/core/runtime/ListenerList;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/eclipse/core/runtime/ListenerList<Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;>;

  private org.eclipse.core.internal.preferences.ScopeDescriptor descriptor;
    descriptor: Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
    flags: (0x0002) ACC_PRIVATE

  public static boolean DEBUG_PREFERENCE_GENERAL;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static boolean DEBUG_PREFERENCE_SET;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  public static boolean DEBUG_PREFERENCE_GET;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  protected static final java.lang.String debugPluginName;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.equinox.preferences"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 45
            iconst_0
            anewarray org.eclipse.core.runtime.preferences.IEclipsePreferences
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_NODE_ARRAY:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
         1: .line 46
            iconst_0
            anewarray java.lang.String
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
         2: .line 51
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.PATH_SEPARATOR:Ljava/lang/String;
         3: .line 72
            iconst_0
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
         4: .line 73
            iconst_0
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_SET:Z
         5: .line 74
            iconst_0
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GET:Z
         6: .line 79
            invokestatic org.eclipse.core.internal.preferences.PreferencesOSGiUtils.getDefault:()Lorg/eclipse/core/internal/preferences/PreferencesOSGiUtils;
            ldc "org.eclipse.equinox.preferences/general"
            iconst_0
            invokevirtual org.eclipse.core.internal.preferences.PreferencesOSGiUtils.getBooleanDebugOption:(Ljava/lang/String;Z)Z
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
         7: .line 80
            invokestatic org.eclipse.core.internal.preferences.PreferencesOSGiUtils.getDefault:()Lorg/eclipse/core/internal/preferences/PreferencesOSGiUtils;
            ldc "org.eclipse.equinox.preferences/set"
            iconst_0
            invokevirtual org.eclipse.core.internal.preferences.PreferencesOSGiUtils.getBooleanDebugOption:(Ljava/lang/String;Z)Z
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_SET:Z
         8: .line 81
            invokestatic org.eclipse.core.internal.preferences.PreferencesOSGiUtils.getDefault:()Lorg/eclipse/core/internal/preferences/PreferencesOSGiUtils;
            ldc "org.eclipse.equinox.preferences/get"
            iconst_0
            invokevirtual org.eclipse.core.internal.preferences.PreferencesOSGiUtils.getBooleanDebugOption:(Ljava/lang/String;Z)Z
            putstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GET:Z
         9: .line 82
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 85
            aload 0 /* this */
            aconst_null
            aconst_null
            invokespecial org.eclipse.core.internal.preferences.EclipsePreferences.<init>:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;)V
         1: .line 86
            return
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  protected void <init>(org.eclipse.core.internal.preferences.EclipsePreferences, java.lang.String);
    descriptor: (Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.internal.preferences.EclipsePreferences parent
        start local 2 // java.lang.String name
         0: .line 89
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            getstatic org.eclipse.core.internal.preferences.ImmutableMap.EMPTY:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
         2: .line 61
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
         3: .line 62
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.dirty:Z
         4: .line 63
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.loading:Z
         5: .line 67
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.removed:Z
         6: .line 68
            aload 0 /* this */
            new org.eclipse.core.runtime.ListenerList
            dup
            invokespecial org.eclipse.core.runtime.ListenerList.<init>:()V
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.nodeChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
         7: .line 69
            aload 0 /* this */
            new org.eclipse.core.runtime.ListenerList
            dup
            invokespecial org.eclipse.core.runtime.ListenerList.<init>:()V
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.preferenceChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
         8: .line 90
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
         9: .line 91
            aload 0 /* this */
            aload 2 /* name */
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.name:Ljava/lang/String;
        10: .line 92
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.cachedPath:Ljava/lang/String;
        11: .line 93
            return
        end local 2 // java.lang.String name
        end local 1 // org.eclipse.core.internal.preferences.EclipsePreferences parent
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   12     1  parent  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   12     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      parent  
      name    

  public java.lang.String absolutePath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 98
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.cachedPath:Ljava/lang/String;
            ifnonnull 7
         1: .line 99
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            ifnonnull 3
         2: .line 100
            aload 0 /* this */
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.PATH_SEPARATOR:Ljava/lang/String;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.cachedPath:Ljava/lang/String;
            goto 7
         3: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            astore 1 /* parentPath */
        start local 1 // java.lang.String parentPath
         4: .line 105
            aload 1 /* parentPath */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 6
         5: .line 106
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* parentPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.cachedPath:Ljava/lang/String;
            goto 7
         6: .line 108
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* parentPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.PATH_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.cachedPath:Ljava/lang/String;
        end local 1 // java.lang.String parentPath
         7: .line 111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.cachedPath:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            4    7     1  parentPath  Ljava/lang/String;

  public void accept(org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IPreferenceNodeVisitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor visitor
         0: .line 116
            aload 1 /* visitor */
            aload 0 /* this */
            invokeinterface org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor.visit:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z
            ifne 2
         1: .line 117
            return
         2: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChildren:(Z)[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 2 /* toVisit */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] toVisit
         3: .line 119
            aload 2 /* toVisit */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor org.eclipse.core.runtime.preferences.IEclipsePreferences[] top int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* p */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences p
         5: .line 120
            aload 3 /* p */
            aload 1 /* visitor */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.accept:(Lorg/eclipse/core/runtime/preferences/IPreferenceNodeVisitor;)V
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences p
         6: .line 119
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 4
         8: .line 122
            return
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] toVisit
        end local 1 // org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor visitor
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    9     1  visitor  Lorg/eclipse/core/runtime/preferences/IPreferenceNodeVisitor;
            3    9     2  toVisit  [Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            5    6     3        p  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
         Name  Flags
      visitor  

  protected org.eclipse.core.runtime.preferences.IEclipsePreferences addChild(java.lang.String, org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String childName
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
         0: .line 126
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 127
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            ifnonnull 3
         2: .line 128
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
         3: .line 129
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            aload 1 /* childName */
            aload 2 /* child */
            ifnonnull 4
            aload 1 /* childName */
            goto 5
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.Object
      StackMap stack: java.util.Map java.lang.String
         4: aload 2 /* child */
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.Object
      StackMap stack: java.util.Map java.lang.String java.lang.Object
         5: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 130
            aload 2 /* child */
            aload 3
            monitorexit
         7: areturn
         8: .line 126
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         9: athrow
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        end local 1 // java.lang.String childName
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   10     1  childName  Ljava/lang/String;
            0   10     2      child  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    MethodParameters:
           Name  Flags
      childName  
      child      

  public void addNodeChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener listener
         0: .line 137
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 138
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.nodeChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            aload 1 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.add:(Ljava/lang/Object;)V
         2: .line 139
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 4
         3: .line 140
            new java.lang.StringBuilder
            dup
            ldc "Added preference node change listener: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         4: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener listener
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    5     1  listener  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void addPreferenceChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener listener
         0: .line 146
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 147
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.preferenceChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            aload 1 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.add:(Ljava/lang/Object;)V
         2: .line 148
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 4
         3: .line 149
            new java.lang.StringBuilder
            dup
            ldc "Added preference property change listener: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " to: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         4: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener listener
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    5     1  listener  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  private org.eclipse.core.runtime.preferences.IEclipsePreferences calculateRoot();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 153
            aload 0 /* this */
            astore 1 /* result */
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences result
         1: .line 154
            goto 3
         2: .line 155
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 1 /* result */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            astore 1 /* result */
         3: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            ifnonnull 2
         4: .line 156
            aload 1 /* result */
            areturn
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences result
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            1    5     1  result  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;

  protected void checkRemoved();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 165
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNLS cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  public java.lang.String[] childrenNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 172
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 173
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalChildNames:()[Ljava/lang/String;
            astore 1 /* internal */
        start local 1 // java.lang.String[] internal
         2: .line 175
            aload 1 /* internal */
            arraylength
            ifeq 4
         3: .line 176
            aload 1 /* internal */
            areturn
         4: .line 179
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnull 6
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.getSegmentCount:(Ljava/lang/String;)I
            iconst_1
            if_icmpne 6
         5: .line 180
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.childrenNames:(Ljava/lang/String;)[Ljava/lang/String;
            areturn
         6: .line 181
      StackMap locals:
      StackMap stack:
            aload 1 /* internal */
            areturn
        end local 1 // java.lang.String[] internal
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            2    7     1  internal  [Ljava/lang/String;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  protected java.lang.String[] internalChildNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 185
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 186
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            ifnull 2
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ifne 4
         2: .line 187
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            aload 1
            monitorexit
         3: areturn
         4: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            aload 1
            monitorexit
         5: areturn
         6: .line 185
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         7: athrow
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 196
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 200
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 201
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.keys:()[Ljava/lang/String;
            astore 1 /* keys */
        start local 1 // java.lang.String[] keys
         3: .line 200
            aload 2
            monitorexit
         4: goto 7
        end local 1 // java.lang.String[] keys
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences top java.lang.Object
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
        start local 1 // java.lang.String[] keys
         7: .line 204
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[]
      StackMap stack:
            aload 1 /* keys */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 11
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         8: aload 5
            iload 3
            aaload
            astore 2 /* key */
        start local 2 // java.lang.String key
         9: .line 205
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.remove:(Ljava/lang/String;)V
        end local 2 // java.lang.String key
        10: .line 204
            iinc 3 1
      StackMap locals:
      StackMap stack:
        11: iload 3
            iload 4
            if_icmplt 8
        12: .line 207
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
        13: .line 208
            return
        end local 1 // java.lang.String[] keys
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            3    5     1  keys  [Ljava/lang/String;
            7   14     1  keys  [Ljava/lang/String;
            9   10     2   key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any

  protected java.lang.String[] computeChildren(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)[Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.IPath root
         0: .line 211
            aload 1 /* root */
            ifnonnull 2
         1: .line 212
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            areturn
         2: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* root */
            ldc ".settings"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* dir */
        start local 2 // org.eclipse.core.runtime.IPath dir
         3: .line 214
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.ArrayList result
         4: .line 216
            aload 2 /* dir */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 4 /* file */
        start local 4 // java.io.File file
         5: .line 217
            aload 4 /* file */
            invokevirtual java.io.File.listFiles:()[Ljava/io/File;
            astore 5 /* totalFiles */
        start local 5 // java.io.File[] totalFiles
         6: .line 218
            aload 5 /* totalFiles */
            ifnull 16
         7: .line 219
            aload 5 /* totalFiles */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 15
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.util.ArrayList java.io.File java.io.File[] top int int java.io.File[]
      StackMap stack:
         8: aload 9
            iload 7
            aaload
            astore 6 /* totalFile */
        start local 6 // java.io.File totalFile
         9: .line 220
            aload 6 /* totalFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 14
        10: .line 221
            aload 6 /* totalFile */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            astore 10 /* filename */
        start local 10 // java.lang.String filename
        11: .line 222
            aload 10 /* filename */
            ldc ".prefs"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 223
            aload 10 /* filename */
            iconst_0
            aload 10 /* filename */
            invokevirtual java.lang.String.length:()I
            ldc ".prefs"
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* shortName */
        start local 11 // java.lang.String shortName
        13: .line 224
            aload 3 /* result */
            aload 11 /* shortName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.String shortName
        end local 10 // java.lang.String filename
        end local 6 // java.io.File totalFile
        14: .line 219
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
        15: iload 7
            iload 8
            if_icmplt 8
        16: .line 229
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IPath java.util.ArrayList java.io.File java.io.File[]
      StackMap stack:
            aload 3 /* result */
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 5 // java.io.File[] totalFiles
        end local 4 // java.io.File file
        end local 3 // java.util.ArrayList result
        end local 2 // org.eclipse.core.runtime.IPath dir
        end local 1 // org.eclipse.core.runtime.IPath root
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   17     1        root  Lorg/eclipse/core/runtime/IPath;
            3   17     2         dir  Lorg/eclipse/core/runtime/IPath;
            4   17     3      result  Ljava/util/ArrayList<Ljava/lang/String;>;
            5   17     4        file  Ljava/io/File;
            6   17     5  totalFiles  [Ljava/io/File;
            9   14     6   totalFile  Ljava/io/File;
           11   14    10    filename  Ljava/lang/String;
           13   14    11   shortName  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      root  

  protected org.eclipse.core.runtime.IPath computeLocation(org.eclipse.core.runtime.IPath, java.lang.String);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.IPath root
        start local 2 // java.lang.String qualifier
         0: .line 233
            aload 1 /* root */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* root */
            ldc ".settings"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            aload 2 /* qualifier */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            ldc "prefs"
            invokeinterface org.eclipse.core.runtime.IPath.addFileExtension:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.IPath
         2: areturn
        end local 2 // java.lang.String qualifier
        end local 1 // org.eclipse.core.runtime.IPath root
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    3     1       root  Lorg/eclipse/core/runtime/IPath;
            0    3     2  qualifier  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      root       
      qualifier  

  protected static void convertFromProperties(org.eclipse.core.internal.preferences.EclipsePreferences, java.util.Properties, boolean);
    descriptor: (Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/util/Properties;Z)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences node
        start local 1 // java.util.Properties table
        start local 2 // boolean notify
         0: .line 241
            aload 1 /* table */
            ldc "eclipse.preferences.version"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* version */
        start local 3 // java.lang.String version
         1: .line 242
            aload 3 /* version */
            ifnull 2
            ldc "1"
            aload 3 /* version */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            pop
         2: .line 245
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* table */
            ldc "eclipse.preferences.version"
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 246
            aload 1 /* table */
            invokevirtual java.util.Properties.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* i */
        start local 4 // java.util.Iterator i
         4: goto 18
         5: .line 247
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* fullKey */
        start local 5 // java.lang.String fullKey
         6: .line 248
            aload 1 /* table */
            aload 5 /* fullKey */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* value */
        start local 6 // java.lang.String value
         7: .line 249
            aload 6 /* value */
            ifnull 18
         8: .line 250
            aload 5 /* fullKey */
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.decodePath:(Ljava/lang/String;)[Ljava/lang/String;
            astore 7 /* splitPath */
        start local 7 // java.lang.String[] splitPath
         9: .line 251
            aload 7 /* splitPath */
            iconst_0
            aaload
            astore 8 /* path */
        start local 8 // java.lang.String path
        10: .line 252
            aload 8 /* path */
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.makeRelative:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* path */
        11: .line 253
            aload 7 /* splitPath */
            iconst_1
            aaload
            astore 9 /* key */
        start local 9 // java.lang.String key
        12: .line 254
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_SET:Z
            ifeq 14
        13: .line 255
            new java.lang.StringBuilder
            dup
            ldc "Setting preference: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 6 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
        14: .line 257
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties int java.lang.String java.util.Iterator java.lang.String java.lang.String java.lang.String[] java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* node */
            aload 8 /* path */
            iconst_0
            aconst_null
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalNode:(Ljava/lang/String;ZLjava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            checkcast org.eclipse.core.internal.preferences.EclipsePreferences
            astore 10 /* childNode */
        start local 10 // org.eclipse.core.internal.preferences.EclipsePreferences childNode
        15: .line 258
            aload 10 /* childNode */
            aload 9 /* key */
            aload 6 /* value */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* oldValue */
        start local 11 // java.lang.String oldValue
        16: .line 260
            iload 2 /* notify */
            ifeq 18
            aload 6 /* value */
            aload 11 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 261
            aload 10 /* childNode */
            aload 9 /* key */
            aload 11 /* oldValue */
            aload 6 /* value */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 11 // java.lang.String oldValue
        end local 10 // org.eclipse.core.internal.preferences.EclipsePreferences childNode
        end local 9 // java.lang.String key
        end local 8 // java.lang.String path
        end local 7 // java.lang.String[] splitPath
        end local 6 // java.lang.String value
        end local 5 // java.lang.String fullKey
        18: .line 246
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties int java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Iterator i
        19: .line 264
            invokestatic org.eclipse.core.internal.preferences.PreferencesService.getDefault:()Lorg/eclipse/core/internal/preferences/PreferencesService;
            invokevirtual org.eclipse.core.internal.preferences.PreferencesService.shareStrings:()V
        20: .line 265
            return
        end local 3 // java.lang.String version
        end local 2 // boolean notify
        end local 1 // java.util.Properties table
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences node
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       node  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   21     1      table  Ljava/util/Properties;
            0   21     2     notify  Z
            1   21     3    version  Ljava/lang/String;
            4   19     4          i  Ljava/util/Iterator<*>;
            6   18     5    fullKey  Ljava/lang/String;
            7   18     6      value  Ljava/lang/String;
            9   18     7  splitPath  [Ljava/lang/String;
           10   18     8       path  Ljava/lang/String;
           12   18     9        key  Ljava/lang/String;
           15   18    10  childNode  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
           16   18    11   oldValue  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      node    
      table   
      notify  

  protected static void write(java.util.Properties, org.eclipse.core.runtime.IPath);
    descriptor: (Ljava/util/Properties;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 285
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNLS cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
            Name  Flags
      properties  
      location    

  protected static java.lang.String removeTimestampFromTable(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Ljava/lang/String;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // java.util.Properties properties
         0: .line 300
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* output */
        start local 1 // java.io.ByteArrayOutputStream output
         1: .line 302
            aload 0 /* properties */
            aload 1 /* output */
            aconst_null
            invokevirtual java.util.Properties.store:(Ljava/io/OutputStream;Ljava/lang/String;)V
         2: .line 303
            goto 6
      StackMap locals: java.util.Properties java.io.ByteArrayOutputStream
      StackMap stack: java.lang.Throwable
         3: astore 2
         4: .line 304
            aload 1 /* output */
            invokevirtual java.io.ByteArrayOutputStream.close:()V
         5: .line 305
            aload 2
            athrow
         6: .line 304
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            invokevirtual java.io.ByteArrayOutputStream.close:()V
         7: .line 306
            aload 1 /* output */
            ldc "UTF-8"
            invokevirtual java.io.ByteArrayOutputStream.toString:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* string */
        start local 2 // java.lang.String string
         8: .line 307
            ldc "line.separator"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* separator */
        start local 3 // java.lang.String separator
         9: .line 308
            aload 2 /* string */
            aload 2 /* string */
            aload 3 /* separator */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            aload 3 /* separator */
            invokevirtual java.lang.String.length:()I
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 3 // java.lang.String separator
        end local 2 // java.lang.String string
        end local 1 // java.io.ByteArrayOutputStream output
        end local 0 // java.util.Properties properties
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0  properties  Ljava/util/Properties;
            1   10     1      output  Ljava/io/ByteArrayOutputStream;
            8   10     2      string  Ljava/lang/String;
            9   10     3   separator  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       3  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      properties  

  protected java.util.Properties convertToProperties(java.util.Properties, java.lang.String);
    descriptor: (Ljava/util/Properties;Ljava/lang/String;)Ljava/util/Properties;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.util.Properties result
        start local 2 // java.lang.String prefix
         0: .line 317
            aload 2 /* prefix */
            invokevirtual java.lang.String.length:()I
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* addSeparator */
        start local 3 // boolean addSeparator
         3: .line 320
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         4: .line 321
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            astore 4 /* temp */
        start local 4 // org.eclipse.core.internal.preferences.ImmutableMap temp
         5: .line 320
            aload 5
            monitorexit
         6: goto 9
        end local 4 // org.eclipse.core.internal.preferences.ImmutableMap temp
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties java.lang.String int top java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 5
            monitorexit
         8: athrow
        start local 4 // org.eclipse.core.internal.preferences.ImmutableMap temp
         9: .line 323
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties java.lang.String int org.eclipse.core.internal.preferences.ImmutableMap
      StackMap stack:
            aload 4 /* temp */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.keys:()[Ljava/lang/String;
            astore 5 /* keys */
        start local 5 // java.lang.String[] keys
        10: .line 324
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: aload 5 /* keys */
            arraylength
            istore 7 /* imax */
        start local 7 // int imax
        12: goto 17
        13: .line 325
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 4 /* temp */
            aload 5 /* keys */
            iload 6 /* i */
            aaload
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* value */
        start local 8 // java.lang.String value
        14: .line 326
            aload 8 /* value */
            ifnull 16
        15: .line 327
            aload 1 /* result */
            aload 2 /* prefix */
            aload 5 /* keys */
            iload 6 /* i */
            aaload
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.encodePath:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aload 8 /* value */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String value
        16: .line 324
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 7 /* imax */
            if_icmplt 13
        end local 7 // int imax
        end local 6 // int i
        18: .line 330
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChildren:(Z)[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 6 /* childNodes */
        start local 6 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] childNodes
        19: .line 331
            aload 6 /* childNodes */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 27
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties java.lang.String int org.eclipse.core.internal.preferences.ImmutableMap java.lang.String[] org.eclipse.core.runtime.preferences.IEclipsePreferences[] top int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack:
        20: aload 10
            iload 8
            aaload
            astore 7 /* childNode */
        start local 7 // org.eclipse.core.runtime.preferences.IEclipsePreferences childNode
        21: .line 332
            aload 7 /* childNode */
            checkcast org.eclipse.core.internal.preferences.EclipsePreferences
            astore 11 /* child */
        start local 11 // org.eclipse.core.internal.preferences.EclipsePreferences child
        22: .line 333
            iload 3 /* addSeparator */
            ifeq 23
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.PATH_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 11 /* child */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.name:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 24
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties java.lang.String int org.eclipse.core.internal.preferences.ImmutableMap java.lang.String[] org.eclipse.core.runtime.preferences.IEclipsePreferences[] org.eclipse.core.runtime.preferences.IEclipsePreferences int int org.eclipse.core.runtime.preferences.IEclipsePreferences[] org.eclipse.core.internal.preferences.EclipsePreferences
      StackMap stack:
        23: aload 11 /* child */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.name:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        24: astore 12 /* fullPath */
        start local 12 // java.lang.String fullPath
        25: .line 334
            aload 11 /* child */
            aload 1 /* result */
            aload 12 /* fullPath */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.convertToProperties:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/Properties;
            pop
        end local 12 // java.lang.String fullPath
        end local 11 // org.eclipse.core.internal.preferences.EclipsePreferences child
        end local 7 // org.eclipse.core.runtime.preferences.IEclipsePreferences childNode
        26: .line 331
            iinc 8 1
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.util.Properties java.lang.String int org.eclipse.core.internal.preferences.ImmutableMap java.lang.String[] org.eclipse.core.runtime.preferences.IEclipsePreferences[] top int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack:
        27: iload 8
            iload 9
            if_icmplt 20
        28: .line 336
            aload 1 /* result */
            areturn
        end local 6 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] childNodes
        end local 5 // java.lang.String[] keys
        end local 4 // org.eclipse.core.internal.preferences.ImmutableMap temp
        end local 3 // boolean addSeparator
        end local 2 // java.lang.String prefix
        end local 1 // java.util.Properties result
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   29     1        result  Ljava/util/Properties;
            0   29     2        prefix  Ljava/lang/String;
            3   29     3  addSeparator  Z
            5    7     4          temp  Lorg/eclipse/core/internal/preferences/ImmutableMap;
            9   29     4          temp  Lorg/eclipse/core/internal/preferences/ImmutableMap;
           10   29     5          keys  [Ljava/lang/String;
           11   18     6             i  I
           12   18     7          imax  I
           14   16     8         value  Ljava/lang/String;
           19   29     6    childNodes  [Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
           21   26     7     childNode  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
           22   26    11         child  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
           25   26    12      fullPath  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
        Name  Flags
      result  
      prefix  

  public org.eclipse.core.runtime.preferences.IEclipsePreferences create(org.eclipse.core.runtime.preferences.IEclipsePreferences, java.lang.String);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences nodeParent
        start local 2 // java.lang.String nodeName
         0: .line 342
            aload 0 /* this */
            aload 1 /* nodeParent */
            checkcast org.eclipse.core.internal.preferences.EclipsePreferences
            aload 2 /* nodeName */
            aconst_null
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.create:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            areturn
        end local 2 // java.lang.String nodeName
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences nodeParent
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    1     1  nodeParent  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            0    1     2    nodeName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      nodeParent  
      nodeName    

  protected boolean isLoading();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 346
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.loading:Z
            ireturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  protected void setLoading(boolean);
    descriptor: (Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // boolean isLoading
         0: .line 350
            aload 0 /* this */
            iload 1 /* isLoading */
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.loading:Z
         1: .line 351
            return
        end local 1 // boolean isLoading
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    2     1  isLoading  Z
    MethodParameters:
           Name  Flags
      isLoading  

  public org.eclipse.core.runtime.preferences.IEclipsePreferences create(org.eclipse.core.internal.preferences.EclipsePreferences, java.lang.String, java.lang.Object);
    descriptor: (Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 377
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNLS cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
    MethodParameters:
            Name  Flags
      nodeParent  
      nodeName    
      context     

  public void flush();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 389
            aconst_null
            astore 1 /* toFlush */
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences toFlush
         1: .line 390
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         2: .line 391
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalFlush:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 1 /* toFlush */
         3: .line 390
            aload 2
            monitorexit
         4: goto 7
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.Object
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 394
      StackMap locals:
      StackMap stack:
            aload 1 /* toFlush */
            ifnull 9
         8: .line 395
            aload 1 /* toFlush */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
         9: .line 396
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.internal.preferences.PreferencesService.getDefault:()Lorg/eclipse/core/internal/preferences/PreferencesService;
            invokevirtual org.eclipse.core.internal.preferences.PreferencesService.shareStrings:()V
        10: .line 397
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences toFlush
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            1   11     1  toFlush  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  protected org.eclipse.core.runtime.preferences.IEclipsePreferences internalFlush();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 409
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 411
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getLoadLevel:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 1 /* loadLevel */
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences loadLevel
         2: .line 414
            aload 1 /* loadLevel */
            ifnonnull 10
         3: .line 415
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.childrenNames:()[Ljava/lang/String;
            astore 2 /* childrenNames */
        start local 2 // java.lang.String[] childrenNames
         4: .line 416
            aload 2 /* childrenNames */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* childrenName */
        start local 3 // java.lang.String childrenName
         6: .line 417
            aload 0 /* this */
            aload 3 /* childrenName */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.node:(Ljava/lang/String;)Lorg/osgi/service/prefs/Preferences;
            invokeinterface org.osgi.service.prefs.Preferences.flush:()V
        end local 3 // java.lang.String childrenName
         7: .line 416
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 5
         9: .line 419
            aconst_null
            areturn
        end local 2 // java.lang.String[] childrenNames
        10: .line 423
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 0 /* this */
            aload 1 /* loadLevel */
            if_acmpeq 12
        11: .line 424
            aload 1 /* loadLevel */
            areturn
        12: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.dirty:Z
            ifne 14
        13: .line 429
            aconst_null
            areturn
        14: .line 432
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.dirty:Z
        15: .line 434
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.save:()V
        16: .line 435
            goto 20
      StackMap locals:
      StackMap stack: org.osgi.service.prefs.BackingStoreException
        17: astore 2 /* e */
        start local 2 // org.osgi.service.prefs.BackingStoreException e
        18: .line 437
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.dirty:Z
        19: .line 438
            aload 2 /* e */
            athrow
        end local 2 // org.osgi.service.prefs.BackingStoreException e
        20: .line 440
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences loadLevel
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            2   21     1      loadLevel  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            4   10     2  childrenNames  [Ljava/lang/String;
            6    7     3   childrenName  Ljava/lang/String;
           18   20     2              e  Lorg/osgi/service/prefs/BackingStoreException;
      Exception table:
        from    to  target  type
          15    16      17  Class org.osgi.service.prefs.BackingStoreException
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  public java.lang.String get(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String defaultValue
         0: .line 446
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 447
            aload 3 /* value */
            ifnonnull 2
            aload 2 /* defaultValue */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 3 /* value */
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 3 // java.lang.String value
        end local 2 // java.lang.String defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    4     1           key  Ljava/lang/String;
            0    4     2  defaultValue  Ljava/lang/String;
            1    4     3         value  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  public boolean getBoolean(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // boolean defaultValue
         0: .line 453
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 454
            aload 3 /* value */
            ifnonnull 2
            iload 2 /* defaultValue */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: ldc "true"
            aload 3 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 3 // java.lang.String value
        end local 2 // boolean defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    4     1           key  Ljava/lang/String;
            0    4     2  defaultValue  Z
            1    4     3         value  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  public byte[] getByteArray(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // byte[] defaultValue
         0: .line 460
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 461
            aload 3 /* value */
            ifnonnull 2
            aload 2 /* defaultValue */
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: aload 3 /* value */
            invokevirtual java.lang.String.getBytes:()[B
            invokestatic org.eclipse.core.internal.preferences.Base64.decode:([B)[B
      StackMap locals:
      StackMap stack: byte[]
         3: areturn
        end local 3 // java.lang.String value
        end local 2 // byte[] defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    4     1           key  Ljava/lang/String;
            0    4     2  defaultValue  [B
            1    4     3         value  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  protected boolean childExists(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String childName
         0: .line 469
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 470
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            ifnonnull 4
         2: .line 471
            aload 2
            monitorexit
         3: iconst_0
            ireturn
         4: .line 472
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            aload 1 /* childName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: aload 2
            monitorexit
         7: ireturn
         8: .line 469
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         9: athrow
        end local 1 // java.lang.String childName
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   10     1  childName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       8  any
           4     7       8  any
           8     9       8  any
    MethodParameters:
           Name  Flags
      childName  

  protected org.eclipse.core.runtime.preferences.IEclipsePreferences getChild(java.lang.String, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Z)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object context
        start local 3 // boolean create
         0: .line 481
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         1: .line 482
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            ifnonnull 4
         2: .line 483
            aload 4
            monitorexit
         3: aconst_null
            areturn
         4: .line 484
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* value */
        start local 5 // java.lang.Object value
         5: .line 485
            aload 5 /* value */
            ifnonnull 8
         6: .line 486
            aload 4
            monitorexit
         7: aconst_null
            areturn
         8: .line 487
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 5 /* value */
            instanceof org.eclipse.core.runtime.preferences.IEclipsePreferences
            ifeq 11
         9: .line 488
            aload 5 /* value */
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            aload 4
            monitorexit
        10: areturn
        11: .line 491
      StackMap locals:
      StackMap stack:
            iload 3 /* create */
            ifne 14
        12: .line 492
            aload 4
            monitorexit
        13: aconst_null
            areturn
        end local 5 // java.lang.Object value
        14: .line 481
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        15: goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        16: aload 4
            monitorexit
        17: athrow
        18: .line 494
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* context */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.create:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.addChild:(Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            areturn
        end local 3 // boolean create
        end local 2 // java.lang.Object context
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   19     1      key  Ljava/lang/String;
            0   19     2  context  Ljava/lang/Object;
            0   19     3   create  Z
            5   14     5    value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     3      16  any
           4     7      16  any
           8    10      16  any
          11    13      16  any
          14    15      16  any
          16    17      16  any
    MethodParameters:
         Name  Flags
      key      
      context  
      create   

  protected org.eclipse.core.runtime.preferences.IEclipsePreferences[] getChildren(boolean);
    descriptor: (Z)[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // boolean create
         0: .line 501
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.ArrayList result
         1: .line 502
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalChildNames:()[Ljava/lang/String;
            astore 3 /* names */
        start local 3 // java.lang.String[] names
         2: .line 503
            aload 3 /* names */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 8
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences int java.util.ArrayList java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* n */
        start local 4 // java.lang.String n
         4: .line 504
            aload 0 /* this */
            aload 4 /* n */
            aconst_null
            iload 1 /* create */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChild:(Ljava/lang/String;Ljava/lang/Object;Z)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 8 /* child */
        start local 8 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
         5: .line 505
            aload 8 /* child */
            ifnull 7
         6: .line 506
            aload 2 /* result */
            aload 8 /* child */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        end local 4 // java.lang.String n
         7: .line 503
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
         8: iload 5
            iload 6
            if_icmplt 3
         9: .line 508
            aload 2 /* result */
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.EMPTY_NODE_ARRAY:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences[]
            areturn
        end local 3 // java.lang.String[] names
        end local 2 // java.util.ArrayList result
        end local 1 // boolean create
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   10     1  create  Z
            1   10     2  result  Ljava/util/ArrayList<Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;>;
            2   10     3   names  [Ljava/lang/String;
            4    7     4       n  Ljava/lang/String;
            5    7     8   child  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    MethodParameters:
        Name  Flags
      create  

  public double getDouble(java.lang.String, double);
    descriptor: (Ljava/lang/String;D)D
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // double defaultValue
         0: .line 514
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         1: .line 515
            dload 2 /* defaultValue */
            dstore 5 /* result */
        start local 5 // double result
         2: .line 516
            aload 4 /* value */
            ifnull 6
         3: .line 518
            aload 4 /* value */
            invokestatic java.lang.Double.parseDouble:(Ljava/lang/String;)D
            dstore 5 /* result */
         4: .line 519
            goto 6
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String double java.lang.String double
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 522
      StackMap locals:
      StackMap stack:
            dload 5 /* result */
            dreturn
        end local 5 // double result
        end local 4 // java.lang.String value
        end local 2 // double defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1           key  Ljava/lang/String;
            0    7     2  defaultValue  D
            1    7     4         value  Ljava/lang/String;
            2    7     5        result  D
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  public float getFloat(java.lang.String, float);
    descriptor: (Ljava/lang/String;F)F
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // float defaultValue
         0: .line 528
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 529
            fload 2 /* defaultValue */
            fstore 4 /* result */
        start local 4 // float result
         2: .line 530
            aload 3 /* value */
            ifnull 6
         3: .line 532
            aload 3 /* value */
            invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
            fstore 4 /* result */
         4: .line 533
            goto 6
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String float java.lang.String float
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 536
      StackMap locals:
      StackMap stack:
            fload 4 /* result */
            freturn
        end local 4 // float result
        end local 3 // java.lang.String value
        end local 2 // float defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1           key  Ljava/lang/String;
            0    7     2  defaultValue  F
            1    7     3         value  Ljava/lang/String;
            2    7     4        result  F
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  public int getInt(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // int defaultValue
         0: .line 542
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 543
            iload 2 /* defaultValue */
            istore 4 /* result */
        start local 4 // int result
         2: .line 544
            aload 3 /* value */
            ifnull 6
         3: .line 546
            aload 3 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* result */
         4: .line 547
            goto 6
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String int java.lang.String int
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 550
      StackMap locals:
      StackMap stack:
            iload 4 /* result */
            ireturn
        end local 4 // int result
        end local 3 // java.lang.String value
        end local 2 // int defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1           key  Ljava/lang/String;
            0    7     2  defaultValue  I
            1    7     3         value  Ljava/lang/String;
            2    7     4        result  I
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  protected org.eclipse.core.runtime.preferences.IEclipsePreferences getLoadLevel();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 554
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.getLoadLevel:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.preferences.IEclipsePreferences
         2: areturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  protected org.eclipse.core.runtime.IPath getLocation();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 561
            aconst_null
            areturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  public long getLong(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // long defaultValue
         0: .line 567
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalGet:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         1: .line 568
            lload 2 /* defaultValue */
            lstore 5 /* result */
        start local 5 // long result
         2: .line 569
            aload 4 /* value */
            ifnull 6
         3: .line 571
            aload 4 /* value */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            lstore 5 /* result */
         4: .line 572
            goto 6
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String long java.lang.String long
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 575
      StackMap locals:
      StackMap stack:
            lload 5 /* result */
            lreturn
        end local 5 // long result
        end local 4 // java.lang.String value
        end local 2 // long defaultValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1           key  Ljava/lang/String;
            0    7     2  defaultValue  J
            1    7     4         value  Ljava/lang/String;
            2    7     5        result  J
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
              Name  Flags
      key           
      defaultValue  

  protected org.eclipse.core.internal.preferences.EclipsePreferences internalCreate(org.eclipse.core.internal.preferences.EclipsePreferences, java.lang.String, java.lang.Object);
    descriptor: (Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/core/internal/preferences/EclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.internal.preferences.EclipsePreferences nodeParent
        start local 2 // java.lang.String nodeName
        start local 3 // java.lang.Object context
         0: .line 579
            new org.eclipse.core.internal.preferences.EclipsePreferences
            dup
            aload 1 /* nodeParent */
            aload 2 /* nodeName */
            invokespecial org.eclipse.core.internal.preferences.EclipsePreferences.<init>:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;)V
            astore 4 /* result */
        start local 4 // org.eclipse.core.internal.preferences.EclipsePreferences result
         1: .line 580
            aload 4 /* result */
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
         2: .line 581
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.core.internal.preferences.EclipsePreferences result
        end local 3 // java.lang.Object context
        end local 2 // java.lang.String nodeName
        end local 1 // org.eclipse.core.internal.preferences.EclipsePreferences nodeParent
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    3     1  nodeParent  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    3     2    nodeName  Ljava/lang/String;
            0    3     3     context  Ljava/lang/Object;
            1    3     4      result  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
    MethodParameters:
            Name  Flags
      nodeParent  
      nodeName    
      context     

  protected java.lang.String internalGet(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
         0: .line 590
            aload 1 /* key */
            ifnonnull 2
         1: .line 591
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         3: .line 595
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         4: .line 596
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* result */
        start local 2 // java.lang.String result
         5: .line 595
            aload 3
            monitorexit
         6: goto 9
        end local 2 // java.lang.String result
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String top java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
        start local 2 // java.lang.String result
         9: .line 598
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String java.lang.String
      StackMap stack:
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GET:Z
            ifeq 11
        10: .line 599
            new java.lang.StringBuilder
            dup
            ldc "Getting preference value: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "->"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* result */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
        11: .line 600
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String result
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   12     1     key  Ljava/lang/String;
            5    7     2  result  Ljava/lang/String;
            9   12     2  result  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      key   

  protected org.eclipse.core.runtime.preferences.IEclipsePreferences internalNode(java.lang.String, boolean, java.lang.Object);
    descriptor: (Ljava/lang/String;ZLjava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String path
        start local 2 // boolean notify
        start local 3 // java.lang.Object context
         0: .line 609
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 612
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 3
         2: .line 613
            aload 0 /* this */
            areturn
         3: .line 618
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 5
         4: .line 619
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.calculateRoot:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 1 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.node:(Ljava/lang/String;)Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            areturn
         5: .line 621
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* index */
        start local 4 // int index
         6: .line 622
            iload 4 /* index */
            iconst_m1
            if_icmpne 7
            aload 1 /* path */
            goto 8
      StackMap locals: int
      StackMap stack:
         7: aload 1 /* path */
            iconst_0
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         8: astore 5 /* key */
        start local 5 // java.lang.String key
         9: .line 623
            iconst_0
            istore 6 /* added */
        start local 6 // boolean added
        10: .line 624
            aload 0 /* this */
            aload 5 /* key */
            aload 3 /* context */
            iconst_1
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChild:(Ljava/lang/String;Ljava/lang/Object;Z)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 7 /* child */
        start local 7 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        11: .line 625
            aload 7 /* child */
            ifnonnull 14
        12: .line 626
            aload 0 /* this */
            aload 0 /* this */
            aload 5 /* key */
            aload 3 /* context */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.create:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 7 /* child */
        13: .line 627
            iconst_1
            istore 6 /* added */
        14: .line 630
      StackMap locals: java.lang.String int org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            iload 6 /* added */
            ifeq 16
            iload 2 /* notify */
            ifeq 16
        15: .line 631
            aload 0 /* this */
            new org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent
            dup
            aload 0 /* this */
            aload 7 /* child */
            invokespecial org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent.<init>:(Lorg/osgi/service/prefs/Preferences;Lorg/osgi/service/prefs/Preferences;)V
            iconst_1
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.fireNodeEvent:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$NodeChangeEvent;Z)V
        16: .line 632
      StackMap locals:
      StackMap stack:
            aload 7 /* child */
            iload 4 /* index */
            iconst_m1
            if_icmpne 17
            ldc ""
            goto 18
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.preferences.IEclipsePreferences
        17: aload 1 /* path */
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String int java.lang.Object int java.lang.String int org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack: org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String
        18: invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.node:(Ljava/lang/String;)Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            areturn
        end local 7 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        end local 6 // boolean added
        end local 5 // java.lang.String key
        end local 4 // int index
        end local 3 // java.lang.Object context
        end local 2 // boolean notify
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   19     1     path  Ljava/lang/String;
            0   19     2   notify  Z
            0   19     3  context  Ljava/lang/Object;
            6   19     4    index  I
            9   19     5      key  Ljava/lang/String;
           10   19     6    added  Z
           11   19     7    child  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    MethodParameters:
         Name  Flags
      path     
      notify   
      context  

  protected java.lang.String internalPut(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String newValue
         0: .line 641
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 643
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         2: .line 644
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* oldValue */
        start local 4 // java.lang.String oldValue
         3: .line 645
            aload 4 /* oldValue */
            ifnull 6
            aload 4 /* oldValue */
            aload 2 /* newValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 646
            aload 4 /* oldValue */
            aload 3
            monitorexit
         5: areturn
         6: .line 647
      StackMap locals: java.lang.Object java.lang.String
      StackMap stack:
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_SET:Z
            ifeq 8
         7: .line 648
            new java.lang.StringBuilder
            dup
            ldc "Setting preference: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* newValue */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         8: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            aload 1 /* key */
            aload 2 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.put:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/internal/preferences/ImmutableMap;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
         9: .line 650
            aload 4 /* oldValue */
            aload 3
            monitorexit
        10: areturn
        end local 4 // java.lang.String oldValue
        11: .line 641
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        12: athrow
        end local 2 // java.lang.String newValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   13     1       key  Ljava/lang/String;
            0   13     2  newValue  Ljava/lang/String;
            3   11     4  oldValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5      11  any
           6    10      11  any
          11    12      11  any
    MethodParameters:
          Name  Flags
      key       
      newValue  

  protected boolean isAlreadyLoaded(org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
         0: .line 658
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.isAlreadyLoaded:(Ljava/lang/String;)Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    3     1  node  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    MethodParameters:
      Name  Flags
      node  

  public java.lang.String[] keys();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 665
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 666
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         2: .line 667
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.keys:()[Ljava/lang/String;
            aload 1
            monitorexit
         3: areturn
         4: .line 665
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  protected void load();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 679
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnonnull 3
         1: .line 680
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getLocation:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.load:(Lorg/eclipse/core/runtime/IPath;)V
         2: .line 681
            goto 7
         3: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.load:(Ljava/lang/String;)Ljava/util/Properties;
            astore 1 /* props */
        start local 1 // java.util.Properties props
         4: .line 684
            aload 1 /* props */
            ifnull 5
            aload 1 /* props */
            invokevirtual java.util.Properties.isEmpty:()Z
            ifeq 6
         5: .line 685
      StackMap locals: java.util.Properties
      StackMap stack:
            return
         6: .line 686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* props */
            iconst_0
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.convertFromProperties:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/util/Properties;Z)V
        end local 1 // java.util.Properties props
         7: .line 688
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            4    7     1  props  Ljava/util/Properties;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  protected static java.util.Properties loadProperties(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/util/Properties;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
         0: .line 704
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tNLS cannot be resolved\n\tNLS cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
          Name  Flags
      location  

  protected void load(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.IPath location
         0: .line 723
            aload 1 /* location */
            ifnonnull 4
         1: .line 724
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 3
         2: .line 725
            new java.lang.StringBuilder
            dup
            ldc "Unable to determine location of preference file for node: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         3: .line 726
      StackMap locals:
      StackMap stack:
            return
         4: .line 728
      StackMap locals:
      StackMap stack:
            aload 1 /* location */
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.loadProperties:(Lorg/eclipse/core/runtime/IPath;)Ljava/util/Properties;
            astore 2 /* fromDisk */
        start local 2 // java.util.Properties fromDisk
         5: .line 729
            aload 0 /* this */
            aload 2 /* fromDisk */
            iconst_0
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.convertFromProperties:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Ljava/util/Properties;Z)V
         6: .line 730
            return
        end local 2 // java.util.Properties fromDisk
        end local 1 // org.eclipse.core.runtime.IPath location
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1  location  Lorg/eclipse/core/runtime/IPath;
            5    7     2  fromDisk  Ljava/util/Properties;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
          Name  Flags
      location  

  protected void loaded();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 733
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnull 2
         1: .line 736
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.loaded:(Ljava/lang/String;)V
         2: .line 738
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  protected void loadLegacy();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 742
            return
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  public static void log(org.eclipse.core.runtime.IStatus);
    descriptor: (Lorg/eclipse/core/runtime/IStatus;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IStatus status
         0: .line 745
            aload 0 /* status */
            invokestatic org.eclipse.core.internal.runtime.RuntimeLog.log:(Lorg/eclipse/core/runtime/IStatus;)V
         1: .line 746
            return
        end local 0 // org.eclipse.core.runtime.IStatus status
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  status  Lorg/eclipse/core/runtime/IStatus;
    MethodParameters:
        Name  Flags
      status  

  protected void makeDirty();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 749
            aload 0 /* this */
            astore 1 /* node */
        start local 1 // org.eclipse.core.internal.preferences.EclipsePreferences node
         1: .line 750
            goto 4
         2: .line 751
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences
      StackMap stack:
            aload 1 /* node */
            iconst_1
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.dirty:Z
         3: .line 752
            aload 1 /* node */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.internal.preferences.EclipsePreferences
            astore 1 /* node */
         4: .line 750
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            ifnull 5
            aload 1 /* node */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.removed:Z
            ifeq 2
         5: .line 754
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.internal.preferences.EclipsePreferences node
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            1    6     1  node  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  public boolean isDirty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 757
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.dirty:Z
            ireturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  public java.lang.String name();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 763
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.name:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  public org.osgi.service.prefs.Preferences node(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/osgi/service/prefs/Preferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String pathName
         0: .line 769
            aload 0 /* this */
            aload 1 /* pathName */
            iconst_1
            aconst_null
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalNode:(Ljava/lang/String;ZLjava/lang/Object;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            areturn
        end local 1 // java.lang.String pathName
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    1     1  pathName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      pathName  

  protected void fireNodeEvent(org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent, boolean);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$NodeChangeEvent;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent event
        start local 2 // boolean added
         0: .line 773
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.nodeChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            ifnonnull 2
         1: .line 774
            return
         2: .line 775
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.nodeChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener
            astore 3 /* listener */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener listener
         4: .line 776
            new org.eclipse.core.internal.preferences.EclipsePreferences$1
            dup
            aload 0 /* this */
            iload 2 /* added */
            aload 3 /* listener */
            aload 1 /* event */
            invokespecial org.eclipse.core.internal.preferences.EclipsePreferences$1.<init>:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;ZLorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$NodeChangeEvent;)V
            astore 5 /* job */
        start local 5 // org.eclipse.core.runtime.ISafeRunnable job
         5: .line 790
            aload 5 /* job */
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
        end local 5 // org.eclipse.core.runtime.ISafeRunnable job
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener listener
         6: .line 775
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 792
            return
        end local 2 // boolean added
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent event
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    8     1     event  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$NodeChangeEvent;
            0    8     2     added  Z
            4    6     3  listener  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            5    6     5       job  Lorg/eclipse/core/runtime/ISafeRunnable;
    MethodParameters:
       Name  Flags
      event  final
      added  final

  public boolean nodeExists(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String path
         0: .line 798
            aload 1 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 4
         1: .line 799
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.removed:Z
            ifeq 2
            iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: ireturn
         4: .line 803
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         5: .line 807
            aload 1 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 7
         6: .line 808
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.calculateRoot:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 1 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.nodeExists:(Ljava/lang/String;)Z
            ireturn
         7: .line 810
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* index */
        start local 2 // int index
         8: .line 811
            iload 2 /* index */
            iconst_m1
            if_icmpne 9
            iconst_1
            goto 10
      StackMap locals: int
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 3 /* noSlash */
        start local 3 // boolean noSlash
        11: .line 814
            iload 3 /* noSlash */
            ifeq 13
        12: .line 815
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.childExists:(Ljava/lang/String;)Z
            ireturn
        13: .line 818
      StackMap locals: int
      StackMap stack:
            aload 1 /* path */
            iconst_0
            iload 2 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* childName */
        start local 4 // java.lang.String childName
        14: .line 819
            aload 0 /* this */
            aload 4 /* childName */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.childExists:(Ljava/lang/String;)Z
            ifne 16
        15: .line 820
            iconst_0
            ireturn
        16: .line 821
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 4 /* childName */
            aconst_null
            iconst_1
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChild:(Ljava/lang/String;Ljava/lang/Object;Z)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 5 /* child */
        start local 5 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        17: .line 822
            aload 5 /* child */
            ifnonnull 19
        18: .line 823
            iconst_0
            ireturn
        19: .line 824
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 5 /* child */
            aload 1 /* path */
            iload 2 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.nodeExists:(Ljava/lang/String;)Z
            ireturn
        end local 5 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        end local 4 // java.lang.String childName
        end local 3 // boolean noSlash
        end local 2 // int index
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   20     1       path  Ljava/lang/String;
            8   20     2      index  I
           11   20     3    noSlash  Z
           14   20     4  childName  Ljava/lang/String;
           17   20     5      child  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
      Name  Flags
      path  

  public org.osgi.service.prefs.Preferences parent();
    descriptor: ()Lorg/osgi/service/prefs/Preferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 831
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 832
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            areturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  protected void firePreferenceEvent(java.lang.String, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=8, args_size=4
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // java.lang.Object oldValue
        start local 3 // java.lang.Object newValue
         0: .line 839
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.preferenceChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            ifnonnull 2
         1: .line 840
            return
         2: .line 841
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent
            dup
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* oldValue */
            aload 3 /* newValue */
            invokespecial org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent.<init>:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
            astore 4 /* event */
        start local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent event
         3: .line 842
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.preferenceChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            invokevirtual org.eclipse.core.runtime.ListenerList.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String java.lang.Object java.lang.Object org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener
            astore 5 /* listener */
        start local 5 // org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener listener
         5: .line 843
            new org.eclipse.core.internal.preferences.EclipsePreferences$2
            dup
            aload 0 /* this */
            aload 5 /* listener */
            aload 4 /* event */
            invokespecial org.eclipse.core.internal.preferences.EclipsePreferences$2.<init>:(Lorg/eclipse/core/internal/preferences/EclipsePreferences;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$PreferenceChangeEvent;)V
            astore 7 /* job */
        start local 7 // org.eclipse.core.runtime.ISafeRunnable job
         6: .line 854
            aload 7 /* job */
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
        end local 7 // org.eclipse.core.runtime.ISafeRunnable job
        end local 5 // org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener listener
         7: .line 842
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 856
            return
        end local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent event
        end local 3 // java.lang.Object newValue
        end local 2 // java.lang.Object oldValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    9     1       key  Ljava/lang/String;
            0    9     2  oldValue  Ljava/lang/Object;
            0    9     3  newValue  Ljava/lang/Object;
            3    9     4     event  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$PreferenceChangeEvent;
            5    7     5  listener  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            6    7     7       job  Lorg/eclipse/core/runtime/ISafeRunnable;
    MethodParameters:
          Name  Flags
      key       
      oldValue  
      newValue  

  public void put(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String newValue
         0: .line 861
            aload 1 /* key */
            ifnull 1
            aload 2 /* newValue */
            ifnonnull 2
         1: .line 862
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 863
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* oldValue */
        start local 3 // java.lang.String oldValue
         3: .line 864
            aload 2 /* newValue */
            aload 3 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         4: .line 865
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         5: .line 866
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* oldValue */
            aload 2 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 868
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String oldValue
        end local 2 // java.lang.String newValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1       key  Ljava/lang/String;
            0    7     2  newValue  Ljava/lang/String;
            3    7     3  oldValue  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      key       
      newValue  

  public void putBoolean(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // boolean value
         0: .line 873
            aload 1 /* key */
            ifnonnull 2
         1: .line 874
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 875
      StackMap locals:
      StackMap stack:
            iload 2 /* value */
            ifeq 3
            ldc "true"
            goto 4
      StackMap locals:
      StackMap stack:
         3: ldc "false"
      StackMap locals:
      StackMap stack: java.lang.String
         4: astore 3 /* newValue */
        start local 3 // java.lang.String newValue
         5: .line 876
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* oldValue */
        start local 4 // java.lang.String oldValue
         6: .line 877
            aload 3 /* newValue */
            aload 4 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         7: .line 878
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         8: .line 879
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* oldValue */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         9: .line 881
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String oldValue
        end local 3 // java.lang.String newValue
        end local 2 // boolean value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   10     1       key  Ljava/lang/String;
            0   10     2     value  Z
            5   10     3  newValue  Ljava/lang/String;
            6   10     4  oldValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void putByteArray(java.lang.String, byte[]);
    descriptor: (Ljava/lang/String;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // byte[] value
         0: .line 886
            aload 1 /* key */
            ifnull 1
            aload 2 /* value */
            ifnonnull 2
         1: .line 887
      StackMap locals:
      StackMap stack:
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 888
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 2 /* value */
            invokestatic org.eclipse.core.internal.preferences.Base64.encode:([B)[B
            invokespecial java.lang.String.<init>:([B)V
            astore 3 /* newValue */
        start local 3 // java.lang.String newValue
         3: .line 889
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* oldValue */
        start local 4 // java.lang.String oldValue
         4: .line 890
            aload 3 /* newValue */
            aload 4 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 891
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         6: .line 892
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* oldValue */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 894
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String oldValue
        end local 3 // java.lang.String newValue
        end local 2 // byte[] value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    8     1       key  Ljava/lang/String;
            0    8     2     value  [B
            3    8     3  newValue  Ljava/lang/String;
            4    8     4  oldValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void putDouble(java.lang.String, double);
    descriptor: (Ljava/lang/String;D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // double value
         0: .line 899
            aload 1 /* key */
            ifnonnull 2
         1: .line 900
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 901
      StackMap locals:
      StackMap stack:
            dload 2 /* value */
            invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
            astore 4 /* newValue */
        start local 4 // java.lang.String newValue
         3: .line 902
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* oldValue */
        start local 5 // java.lang.String oldValue
         4: .line 903
            aload 4 /* newValue */
            aload 5 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 904
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         6: .line 905
            aload 0 /* this */
            aload 1 /* key */
            aload 5 /* oldValue */
            aload 4 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 907
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String oldValue
        end local 4 // java.lang.String newValue
        end local 2 // double value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    8     1       key  Ljava/lang/String;
            0    8     2     value  D
            3    8     4  newValue  Ljava/lang/String;
            4    8     5  oldValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void putFloat(java.lang.String, float);
    descriptor: (Ljava/lang/String;F)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // float value
         0: .line 912
            aload 1 /* key */
            ifnonnull 2
         1: .line 913
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 914
      StackMap locals:
      StackMap stack:
            fload 2 /* value */
            invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
            astore 3 /* newValue */
        start local 3 // java.lang.String newValue
         3: .line 915
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* oldValue */
        start local 4 // java.lang.String oldValue
         4: .line 916
            aload 3 /* newValue */
            aload 4 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 917
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         6: .line 918
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* oldValue */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 920
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String oldValue
        end local 3 // java.lang.String newValue
        end local 2 // float value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    8     1       key  Ljava/lang/String;
            0    8     2     value  F
            3    8     3  newValue  Ljava/lang/String;
            4    8     4  oldValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void putInt(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // int value
         0: .line 925
            aload 1 /* key */
            ifnonnull 2
         1: .line 926
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 927
      StackMap locals:
      StackMap stack:
            iload 2 /* value */
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            astore 3 /* newValue */
        start local 3 // java.lang.String newValue
         3: .line 928
            aload 0 /* this */
            aload 1 /* key */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* oldValue */
        start local 4 // java.lang.String oldValue
         4: .line 929
            aload 3 /* newValue */
            aload 4 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 930
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         6: .line 931
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* oldValue */
            aload 3 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 933
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            return
        end local 4 // java.lang.String oldValue
        end local 3 // java.lang.String newValue
        end local 2 // int value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    8     1       key  Ljava/lang/String;
            0    8     2     value  I
            3    8     3  newValue  Ljava/lang/String;
            4    8     4  oldValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void putLong(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
        start local 2 // long value
         0: .line 938
            aload 1 /* key */
            ifnonnull 2
         1: .line 939
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 940
      StackMap locals:
      StackMap stack:
            lload 2 /* value */
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            astore 4 /* newValue */
        start local 4 // java.lang.String newValue
         3: .line 941
            aload 0 /* this */
            aload 1 /* key */
            aload 4 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.internalPut:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* oldValue */
        start local 5 // java.lang.String oldValue
         4: .line 942
            aload 4 /* newValue */
            aload 5 /* oldValue */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 943
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         6: .line 944
            aload 0 /* this */
            aload 1 /* key */
            aload 5 /* oldValue */
            aload 4 /* newValue */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 946
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String oldValue
        end local 4 // java.lang.String newValue
        end local 2 // long value
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    8     1       key  Ljava/lang/String;
            0    8     2     value  J
            3    8     4  newValue  Ljava/lang/String;
            4    8     5  oldValue  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      key    
      value  

  public void remove(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
         0: .line 952
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 954
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         2: .line 955
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* oldValue */
        start local 2 // java.lang.String oldValue
         3: .line 956
            aload 2 /* oldValue */
            ifnonnull 6
         4: .line 957
            aload 3
            monitorexit
         5: return
         6: .line 958
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            aload 1 /* key */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.removeKey:(Ljava/lang/String;)Lorg/eclipse/core/internal/preferences/ImmutableMap;
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
         7: .line 952
            aload 3
            monitorexit
         8: goto 11
        end local 2 // java.lang.String oldValue
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String top java.lang.Object
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        start local 2 // java.lang.String oldValue
        11: .line 960
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
        12: .line 961
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* oldValue */
            aconst_null
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.firePreferenceEvent:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 962
            return
        end local 2 // java.lang.String oldValue
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   14     1       key  Ljava/lang/String;
            3    9     2  oldValue  Ljava/lang/String;
           11   14     2  oldValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5       9  any
           6     8       9  any
           9    10       9  any
    MethodParameters:
      Name  Flags
      key   

  public void removeNode();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=7, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 968
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 971
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.keys:()[Ljava/lang/String;
            astore 1 /* keys */
        start local 1 // java.lang.String[] keys
         2: .line 972
            aload 1 /* keys */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 6
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* key */
        start local 2 // java.lang.String key
         4: .line 973
            aload 0 /* this */
            aload 2 /* key */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.remove:(Ljava/lang/String;)V
        end local 2 // java.lang.String key
         5: .line 972
            iinc 3 1
      StackMap locals:
      StackMap stack:
         6: iload 3
            iload 4
            if_icmplt 3
         7: .line 977
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            ifnull 10
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            instanceof org.eclipse.core.internal.preferences.RootPreferences
            ifne 10
         8: .line 979
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.removed:Z
         9: .line 980
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.parent:Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.removeNode:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
        10: .line 982
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChildren:(Z)[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 2 /* childNodes */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] childNodes
        11: .line 983
            aload 2 /* childNodes */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[] org.eclipse.core.runtime.preferences.IEclipsePreferences[] top int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack:
        12: aload 6
            iload 4
            aaload
            astore 3 /* childNode */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences childNode
        13: .line 985
            aload 3 /* childNode */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removeNode:()V
        14: .line 986
            goto 16
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[] org.eclipse.core.runtime.preferences.IEclipsePreferences[] org.eclipse.core.runtime.preferences.IEclipsePreferences int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack: java.lang.IllegalStateException
        15: pop
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences childNode
        16: .line 983
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.String[] org.eclipse.core.runtime.preferences.IEclipsePreferences[] top int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 12
        18: .line 991
            return
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] childNodes
        end local 1 // java.lang.String[] keys
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            2   19     1        keys  [Ljava/lang/String;
            4    5     2         key  Ljava/lang/String;
           11   19     2  childNodes  [Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
           13   16     3   childNode  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
      Exception table:
        from    to  target  type
          13    14      15  Class java.lang.IllegalStateException
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  protected void removeNode(org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
         0: .line 998
            aload 0 /* this */
            aload 1 /* child */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.name:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.removeNode:(Ljava/lang/String;)Ljava/lang/Object;
            ifnull 4
         1: .line 999
            aload 0 /* this */
            new org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent
            dup
            aload 0 /* this */
            aload 1 /* child */
            invokespecial org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent.<init>:(Lorg/osgi/service/prefs/Preferences;Lorg/osgi/service/prefs/Preferences;)V
            iconst_0
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.fireNodeEvent:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$NodeChangeEvent;Z)V
         2: .line 1000
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnull 4
         3: .line 1001
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 1 /* child */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.removed:(Ljava/lang/String;)V
         4: .line 1003
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    5     1  child  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    MethodParameters:
       Name  Flags
      child  

  protected java.lang.Object removeNode(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // java.lang.String key
         0: .line 1009
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1010
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            ifnull 9
         2: .line 1011
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 1012
            aload 3 /* result */
            ifnull 5
         4: .line 1013
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.makeDirty:()V
         5: .line 1014
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 7
         6: .line 1015
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.children:Ljava/util/Map;
         7: .line 1016
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 2
            monitorexit
         8: areturn
        end local 3 // java.lang.Object result
         9: .line 1009
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 2
            monitorexit
        12: athrow
        13: .line 1019
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   14     1     key  Ljava/lang/String;
            3    9     3  result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     8      11  any
           9    10      11  any
          11    12      11  any
    MethodParameters:
      Name  Flags
      key   

  public void removeNodeChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener listener
         0: .line 1025
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 1026
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.nodeChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            ifnonnull 3
         2: .line 1027
            return
         3: .line 1028
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.nodeChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            aload 1 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.remove:(Ljava/lang/Object;)V
         4: .line 1029
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 6
         5: .line 1030
            new java.lang.StringBuilder
            dup
            ldc "Removed preference node change listener: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " from: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         6: .line 1031
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener listener
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1  listener  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  public void removePreferenceChangeListener(org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener listener
         0: .line 1036
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 1037
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.preferenceChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            ifnonnull 3
         2: .line 1038
            return
         3: .line 1039
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.preferenceChangeListeners:Lorg/eclipse/core/runtime/ListenerList;
            aload 1 /* listener */
            invokevirtual org.eclipse.core.runtime.ListenerList.remove:(Ljava/lang/Object;)V
         4: .line 1040
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 6
         5: .line 1041
            new java.lang.StringBuilder
            dup
            ldc "Removed preference property change listener: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* listener */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " from: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         6: .line 1042
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener listener
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    7     1  listener  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
    MethodParameters:
          Name  Flags
      listener  

  protected void save();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 1052
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            ifnonnull 3
         1: .line 1053
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getLocation:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.save:(Lorg/eclipse/core/runtime/IPath;)V
         2: .line 1054
            goto 4
         3: .line 1055
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            aload 0 /* this */
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            ldc ""
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.convertToProperties:(Ljava/util/Properties;Ljava/lang/String;)Ljava/util/Properties;
            invokevirtual org.eclipse.core.internal.preferences.ScopeDescriptor.save:(Ljava/lang/String;Ljava/util/Properties;)V
         4: .line 1057
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  protected void save(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 1071
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tNLS cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
          Name  Flags
      location  

  public void shareStrings(org.eclipse.core.internal.preferences.StringPool);
    descriptor: (Lorg/eclipse/core/internal/preferences/StringPool;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.internal.preferences.StringPool pool
         0: .line 1091
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.childAndPropertyLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 1092
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.EclipsePreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            astore 2 /* temp */
        start local 2 // org.eclipse.core.internal.preferences.ImmutableMap temp
         2: .line 1091
            aload 3
            monitorexit
         3: goto 6
        end local 2 // org.eclipse.core.internal.preferences.ImmutableMap temp
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.internal.preferences.StringPool top java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // org.eclipse.core.internal.preferences.ImmutableMap temp
         6: .line 1094
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.internal.preferences.StringPool org.eclipse.core.internal.preferences.ImmutableMap
      StackMap stack:
            aload 2 /* temp */
            aload 1 /* pool */
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.shareStrings:(Lorg/eclipse/core/internal/preferences/StringPool;)V
         7: .line 1095
            aload 0 /* this */
            iconst_0
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getChildren:(Z)[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 3 /* myChildren */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] myChildren
         8: .line 1096
            aload 3 /* myChildren */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences org.eclipse.core.internal.preferences.StringPool org.eclipse.core.internal.preferences.ImmutableMap org.eclipse.core.runtime.preferences.IEclipsePreferences[] top int int org.eclipse.core.runtime.preferences.IEclipsePreferences[]
      StackMap stack:
         9: aload 7
            iload 5
            aaload
            astore 4 /* child */
        start local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        10: .line 1097
            aload 4 /* child */
            instanceof org.eclipse.core.internal.preferences.EclipsePreferences
            ifeq 12
        11: .line 1098
            aload 4 /* child */
            checkcast org.eclipse.core.internal.preferences.EclipsePreferences
            aload 1 /* pool */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.shareStrings:(Lorg/eclipse/core/internal/preferences/StringPool;)V
        end local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences child
        12: .line 1096
      StackMap locals:
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 9
        14: .line 1101
            return
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences[] myChildren
        end local 2 // org.eclipse.core.internal.preferences.ImmutableMap temp
        end local 1 // org.eclipse.core.internal.preferences.StringPool pool
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0   15     1        pool  Lorg/eclipse/core/internal/preferences/StringPool;
            2    4     2        temp  Lorg/eclipse/core/internal/preferences/ImmutableMap;
            6   15     2        temp  Lorg/eclipse/core/internal/preferences/ImmutableMap;
            8   15     3  myChildren  [Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
           10   12     4       child  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      pool  

  public static java.lang.String encodePath(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String path
        start local 1 // java.lang.String key
         0: .line 1111
            aload 0 /* path */
            ifnonnull 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* path */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
         2: istore 3 /* pathLength */
        start local 3 // int pathLength
         3: .line 1112
            aload 1 /* key */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 9
         4: .line 1113
            iload 3 /* pathLength */
            ifne 7
         5: .line 1114
            aload 1 /* key */
            astore 2 /* result */
        start local 2 // java.lang.String result
         6: goto 13
        end local 2 // java.lang.String result
         7: .line 1116
      StackMap locals: java.lang.String java.lang.String top int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* result */
        start local 2 // java.lang.String result
         8: .line 1117
            goto 13
        end local 2 // java.lang.String result
         9: .line 1118
      StackMap locals:
      StackMap stack:
            iload 3 /* pathLength */
            ifne 12
        10: .line 1119
            new java.lang.StringBuilder
            dup
            ldc "//"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* result */
        start local 2 // java.lang.String result
        11: goto 13
        end local 2 // java.lang.String result
        12: .line 1121
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            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;
            aload 1 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* result */
        start local 2 // java.lang.String result
        13: .line 1123
      StackMap locals: java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 3 // int pathLength
        end local 2 // java.lang.String result
        end local 1 // java.lang.String key
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        path  Ljava/lang/String;
            0   14     1         key  Ljava/lang/String;
            6    7     2      result  Ljava/lang/String;
            8    9     2      result  Ljava/lang/String;
           11   12     2      result  Ljava/lang/String;
           13   14     2      result  Ljava/lang/String;
            3   14     3  pathLength  I
    MethodParameters:
      Name  Flags
      path  
      key   

  public static java.lang.String getSegment(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.String path
        start local 1 // int segment
         0: .line 1131
            aload 0 /* path */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 2 /* start */
        start local 2 // int start
         3: .line 1132
            aload 0 /* path */
            bipush 47
            iload 2 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* end */
        start local 3 // int end
         4: .line 1133
            iload 3 /* end */
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            if_icmpne 6
         5: .line 1134
            iconst_m1
            istore 3 /* end */
         6: .line 1135
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 13
         8: .line 1136
      StackMap locals: int
      StackMap stack:
            iload 3 /* end */
            iconst_m1
            if_icmpne 10
         9: .line 1137
            aconst_null
            areturn
        10: .line 1138
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            iconst_1
            iadd
            istore 2 /* start */
        11: .line 1139
            aload 0 /* path */
            bipush 47
            iload 2 /* start */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 3 /* end */
        12: .line 1135
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 1 /* segment */
            if_icmplt 8
        end local 4 // int i
        14: .line 1141
            iload 3 /* end */
            iconst_m1
            if_icmpne 16
        15: .line 1142
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            istore 3 /* end */
        16: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            iload 2 /* start */
            iload 3 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // int segment
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     path  Ljava/lang/String;
            0   17     1  segment  I
            3   17     2    start  I
            4   17     3      end  I
            7   14     4        i  I
    MethodParameters:
         Name  Flags
      path     
      segment  

  public static int getSegmentCount(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 1147
            new java.util.StringTokenizer
            dup
            aload 0 /* path */
            bipush 47
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* tokenizer */
        start local 1 // java.util.StringTokenizer tokenizer
         1: .line 1148
            aload 1 /* tokenizer */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            ireturn
        end local 1 // java.util.StringTokenizer tokenizer
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       path  Ljava/lang/String;
            1    2     1  tokenizer  Ljava/util/StringTokenizer;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String makeRelative(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String path
         0: .line 1155
            aload 0 /* path */
            astore 1 /* result */
        start local 1 // java.lang.String result
         1: .line 1156
            aload 0 /* path */
            ifnonnull 3
         2: .line 1157
            ldc ""
            areturn
         3: .line 1158
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifle 7
            aload 0 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 7
         4: .line 1159
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 5
            ldc ""
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 0 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: astore 1 /* result */
         7: .line 1160
      StackMap locals:
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.lang.String result
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    path  Ljava/lang/String;
            1    8     1  result  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.String[] decodePath(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.String fullPath
         0: .line 1171
            aconst_null
            astore 1 /* key */
        start local 1 // java.lang.String key
         1: .line 1172
            aconst_null
            astore 2 /* path */
        start local 2 // java.lang.String path
         2: .line 1175
            aload 0 /* fullPath */
            ldc "//"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 3 /* index */
        start local 3 // int index
         3: .line 1176
            iload 3 /* index */
            iconst_m1
            if_icmpne 11
         4: .line 1179
            aload 0 /* fullPath */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 4 /* lastIndex */
        start local 4 // int lastIndex
         5: .line 1180
            iload 4 /* lastIndex */
            iconst_m1
            if_icmpne 8
         6: .line 1181
            aload 0 /* fullPath */
            astore 1 /* key */
         7: .line 1182
            goto 13
         8: .line 1183
      StackMap locals: java.lang.String java.lang.String java.lang.String int int
      StackMap stack:
            aload 0 /* fullPath */
            iconst_0
            iload 4 /* lastIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* path */
         9: .line 1184
            aload 0 /* fullPath */
            iload 4 /* lastIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* key */
        end local 4 // int lastIndex
        10: .line 1186
            goto 13
        11: .line 1189
      StackMap locals:
      StackMap stack:
            aload 0 /* fullPath */
            iconst_0
            iload 3 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* path */
        12: .line 1190
            aload 0 /* fullPath */
            iload 3 /* index */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* key */
        13: .line 1194
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            ifnull 18
        14: .line 1195
            aload 2 /* path */
            invokevirtual java.lang.String.length:()I
            ifne 16
        15: .line 1196
            aconst_null
            astore 2 /* path */
            goto 18
        16: .line 1197
      StackMap locals:
      StackMap stack:
            aload 2 /* path */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 18
        17: .line 1198
            aload 2 /* path */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* path */
        18: .line 1200
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray java.lang.String
            dup
            iconst_0
            aload 2 /* path */
            aastore
            dup
            iconst_1
            aload 1 /* key */
            aastore
            areturn
        end local 3 // int index
        end local 2 // java.lang.String path
        end local 1 // java.lang.String key
        end local 0 // java.lang.String fullPath
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0   fullPath  Ljava/lang/String;
            1   19     1        key  Ljava/lang/String;
            2   19     2       path  Ljava/lang/String;
            3   19     3      index  I
            5   10     4  lastIndex  I
    MethodParameters:
          Name  Flags
      fullPath  

  public void sync();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 1208
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.checkRemoved:()V
         1: .line 1209
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.getLoadLevel:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 1 /* node */
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
         2: .line 1210
            aload 1 /* node */
            ifnonnull 6
         3: .line 1211
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 5
         4: .line 1212
            new java.lang.StringBuilder
            dup
            ldc "Preference node is not a load root: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.core.internal.preferences.PrefsMessages.message:(Ljava/lang/String;)V
         5: .line 1213
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            return
         6: .line 1215
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            instanceof org.eclipse.core.internal.preferences.EclipsePreferences
            ifeq 9
         7: .line 1216
            aload 1 /* node */
            checkcast org.eclipse.core.internal.preferences.EclipsePreferences
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.load:()V
         8: .line 1217
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
         9: .line 1219
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            2   10     1  node  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException

  public java.lang.String toDeepDebugString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 1222
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 1223
            aload 1 /* buffer */
            invokedynamic visit(Ljava/lang/StringBuffer;)Lorg/eclipse/core/runtime/preferences/IPreferenceNodeVisitor;
              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:
                  (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z
                  org/eclipse/core/internal/preferences/EclipsePreferences.lambda$0(Ljava/lang/StringBuffer;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z (6)
                  (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z
            astore 2 /* visitor */
        start local 2 // org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor visitor
         2: .line 1238
            aload 0 /* this */
            aload 2 /* visitor */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.accept:(Lorg/eclipse/core/runtime/preferences/IPreferenceNodeVisitor;)V
         3: .line 1239
            goto 7
      StackMap locals: org.eclipse.core.internal.preferences.EclipsePreferences java.lang.StringBuffer org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         4: astore 3 /* e */
        start local 3 // org.osgi.service.prefs.BackingStoreException e
         5: .line 1240
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Exception while calling #toDeepDebugString()"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 1241
            aload 3 /* e */
            invokevirtual org.osgi.service.prefs.BackingStoreException.printStackTrace:()V
        end local 3 // org.osgi.service.prefs.BackingStoreException e
         7: .line 1243
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor visitor
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            1    8     1   buffer  Ljava/lang/StringBuffer;
            2    8     2  visitor  Lorg/eclipse/core/runtime/preferences/IPreferenceNodeVisitor;
            5    7     3        e  Lorg/osgi/service/prefs/BackingStoreException;
      Exception table:
        from    to  target  type
           2     3       4  Class org.osgi.service.prefs.BackingStoreException

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
         0: .line 1248
            aload 0 /* this */
            invokevirtual org.eclipse.core.internal.preferences.EclipsePreferences.absolutePath:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;

  void setDescriptor(org.eclipse.core.internal.preferences.ScopeDescriptor);
    descriptor: (Lorg/eclipse/core/internal/preferences/ScopeDescriptor;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
        start local 1 // org.eclipse.core.internal.preferences.ScopeDescriptor descriptor
         0: .line 1252
            aload 0 /* this */
            aload 1 /* descriptor */
            putfield org.eclipse.core.internal.preferences.EclipsePreferences.descriptor:Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
         1: .line 1253
            return
        end local 1 // org.eclipse.core.internal.preferences.ScopeDescriptor descriptor
        end local 0 // org.eclipse.core.internal.preferences.EclipsePreferences this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/eclipse/core/internal/preferences/EclipsePreferences;
            0    2     1  descriptor  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
    MethodParameters:
            Name  Flags
      descriptor  

  private static boolean lambda$0(java.lang.StringBuffer, org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Ljava/lang/StringBuffer;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=7, args_size=2
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
         0: .line 1224
            aload 0
            aload 1 /* node */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         1: .line 1225
            aload 0
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 1226
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.keys:()[Ljava/lang/String;
            astore 2 /* keys */
        start local 2 // java.lang.String[] keys
         3: .line 1227
            aload 2 /* keys */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 12
      StackMap locals: java.lang.StringBuffer org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* key */
        start local 3 // java.lang.String key
         5: .line 1228
            aload 0
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 1229
            aload 0
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.PATH_SEPARATOR:Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 1230
            aload 0
            aload 3 /* key */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 1231
            aload 0
            bipush 61
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 1232
            aload 0
            aload 1 /* node */
            aload 3 /* key */
            ldc "*default*"
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        10: .line 1233
            aload 0
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // java.lang.String key
        11: .line 1227
            iinc 4 1
      StackMap locals:
      StackMap stack:
        12: iload 4
            iload 5
            if_icmplt 4
        13: .line 1235
            iconst_1
            ireturn
        end local 2 // java.lang.String[] keys
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     1  node  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            3   14     2  keys  [Ljava/lang/String;
            5   11     3   key  Ljava/lang/String;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
}
SourceFile: "EclipsePreferences.java"
NestMembers:
  org.eclipse.core.internal.preferences.EclipsePreferences$1  org.eclipse.core.internal.preferences.EclipsePreferences$2
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.eclipse.core.internal.preferences.EclipsePreferences$1
  org.eclipse.core.internal.preferences.EclipsePreferences$2
  public abstract INodeChangeListener = org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public abstract IPreferenceChangeListener = org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public final NodeChangeEvent = org.eclipse.core.runtime.preferences.IEclipsePreferences$NodeChangeEvent of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public final PreferenceChangeEvent = org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent of org.eclipse.core.runtime.preferences.IEclipsePreferences