public class org.eclipse.core.internal.preferences.ScopeDescriptor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.core.internal.preferences.ScopeDescriptor
  super_class: java.lang.Object
{
  java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  org.eclipse.core.runtime.preferences.AbstractPreferenceStorage storage;
    descriptor: Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
    flags: (0x0000) 

  java.util.Set<java.lang.String> loadedNodes;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public void <init>(org.eclipse.core.runtime.preferences.AbstractPreferenceStorage);
    descriptor: (Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // org.eclipse.core.runtime.preferences.AbstractPreferenceStorage storage
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 28
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.eclipse.core.internal.preferences.ScopeDescriptor.loadedNodes:Ljava/util/Set;
         2: .line 32
            aload 0 /* this */
            aload 1 /* storage */
            putfield org.eclipse.core.internal.preferences.ScopeDescriptor.storage:Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
         3: .line 33
            return
        end local 1 // org.eclipse.core.runtime.preferences.AbstractPreferenceStorage storage
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0    4     1  storage  Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
    MethodParameters:
         Name  Flags
      storage  

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

  org.eclipse.core.runtime.preferences.IEclipsePreferences getLoadLevel(org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
         0: .line 43
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.absolutePath:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         1: .line 44
            aload 2 /* path */
            invokestatic org.eclipse.core.internal.preferences.EclipsePreferences.getSegmentCount:(Ljava/lang/String;)I
            istore 3 /* count */
        start local 3 // int count
         2: .line 46
            iload 3 /* count */
            iconst_1
            if_icmpeq 3
            iload 3 /* count */
            ifne 4
         3: .line 47
      StackMap locals: java.lang.String int
      StackMap stack:
            aconst_null
            areturn
         4: .line 49
      StackMap locals:
      StackMap stack:
            iload 3 /* count */
            iconst_2
            if_icmpne 6
         5: .line 50
            aload 1 /* node */
            areturn
         6: .line 51
      StackMap locals:
      StackMap stack:
            iload 3 /* count */
            istore 4 /* i */
        start local 4 // int i
         7: goto 10
         8: .line 52
      StackMap locals: int
      StackMap stack:
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            astore 1 /* node */
         9: .line 51
            iinc 4 /* i */ -1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            iconst_2
            if_icmple 11
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            ifnonnull 8
        end local 4 // int i
        11: .line 53
      StackMap locals:
      StackMap stack:
            aload 1 /* node */
            areturn
        end local 3 // int count
        end local 2 // java.lang.String path
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0   12     1   node  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            1   12     2   path  Ljava/lang/String;
            2   12     3  count  I
            7   11     4      i  I
    MethodParameters:
      Name  Flags
      node  

  java.lang.String[] childrenNames(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // java.lang.String path
         0: .line 57
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.ScopeDescriptor.storage:Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
            ifnonnull 2
         1: .line 58
            iconst_0
            anewarray java.lang.String
            areturn
         2: .line 59
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.String[]
            astore 2 /* result */
        start local 2 // java.lang.String[][] result
         3: .line 60
            iconst_1
            anewarray org.osgi.service.prefs.BackingStoreException
            astore 3 /* bse */
        start local 3 // org.osgi.service.prefs.BackingStoreException[] bse
         4: .line 61
            new org.eclipse.core.internal.preferences.ScopeDescriptor$1
            dup
            aload 0 /* this */
            aload 2 /* result */
            aload 1 /* path */
            invokespecial org.eclipse.core.internal.preferences.ScopeDescriptor$1.<init>:(Lorg/eclipse/core/internal/preferences/ScopeDescriptor;[[Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* code */
        start local 4 // org.eclipse.core.runtime.ISafeRunnable code
         5: .line 75
            aload 4 /* code */
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
         6: .line 76
            aload 3 /* bse */
            iconst_0
            aaload
            ifnull 8
         7: .line 77
            aload 3 /* bse */
            iconst_0
            aaload
            athrow
         8: .line 78
      StackMap locals: java.lang.String[][] org.osgi.service.prefs.BackingStoreException[] org.eclipse.core.runtime.ISafeRunnable
      StackMap stack:
            aload 2 /* result */
            iconst_0
            aaload
            ifnonnull 9
            iconst_0
            anewarray java.lang.String
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2 /* result */
            iconst_0
            aaload
      StackMap locals:
      StackMap stack: java.lang.String[]
        10: areturn
        end local 4 // org.eclipse.core.runtime.ISafeRunnable code
        end local 3 // org.osgi.service.prefs.BackingStoreException[] bse
        end local 2 // java.lang.String[][] result
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0   11     1    path  Ljava/lang/String;
            3   11     2  result  [[Ljava/lang/String;
            4   11     3     bse  [Lorg/osgi/service/prefs/BackingStoreException;
            5   11     4    code  Lorg/eclipse/core/runtime/ISafeRunnable;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
      Name  Flags
      path  final

  java.util.Properties load(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Properties;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // java.lang.String path
         0: .line 82
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.ScopeDescriptor.storage:Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
            ifnonnull 2
         1: .line 83
            aconst_null
            areturn
         2: .line 84
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.util.Properties
            astore 2 /* result */
        start local 2 // java.util.Properties[] result
         3: .line 85
            iconst_1
            anewarray org.osgi.service.prefs.BackingStoreException
            astore 3 /* bse */
        start local 3 // org.osgi.service.prefs.BackingStoreException[] bse
         4: .line 86
            new org.eclipse.core.internal.preferences.ScopeDescriptor$2
            dup
            aload 0 /* this */
            aload 2 /* result */
            aload 1 /* path */
            invokespecial org.eclipse.core.internal.preferences.ScopeDescriptor$2.<init>:(Lorg/eclipse/core/internal/preferences/ScopeDescriptor;[Ljava/util/Properties;Ljava/lang/String;)V
            astore 4 /* code */
        start local 4 // org.eclipse.core.runtime.ISafeRunnable code
         5: .line 100
            aload 4 /* code */
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
         6: .line 101
            aload 3 /* bse */
            iconst_0
            aaload
            ifnull 8
         7: .line 102
            aload 3 /* bse */
            iconst_0
            aaload
            athrow
         8: .line 103
      StackMap locals: java.util.Properties[] org.osgi.service.prefs.BackingStoreException[] org.eclipse.core.runtime.ISafeRunnable
      StackMap stack:
            aload 2 /* result */
            iconst_0
            aaload
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2 /* result */
            iconst_0
            aaload
      StackMap locals:
      StackMap stack: java.util.Properties
        10: areturn
        end local 4 // org.eclipse.core.runtime.ISafeRunnable code
        end local 3 // org.osgi.service.prefs.BackingStoreException[] bse
        end local 2 // java.util.Properties[] result
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0   11     1    path  Ljava/lang/String;
            3   11     2  result  [Ljava/util/Properties;
            4   11     3     bse  [Lorg/osgi/service/prefs/BackingStoreException;
            5   11     4    code  Lorg/eclipse/core/runtime/ISafeRunnable;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
      Name  Flags
      path  final

  void save(java.lang.String, java.util.Properties);
    descriptor: (Ljava/lang/String;Ljava/util/Properties;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // java.lang.String path
        start local 2 // java.util.Properties properties
         0: .line 107
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.ScopeDescriptor.storage:Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
            ifnonnull 2
         1: .line 108
            return
         2: .line 109
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.osgi.service.prefs.BackingStoreException
            astore 3 /* bse */
        start local 3 // org.osgi.service.prefs.BackingStoreException[] bse
         3: .line 110
            new org.eclipse.core.internal.preferences.ScopeDescriptor$3
            dup
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* properties */
            invokespecial org.eclipse.core.internal.preferences.ScopeDescriptor$3.<init>:(Lorg/eclipse/core/internal/preferences/ScopeDescriptor;Ljava/lang/String;Ljava/util/Properties;)V
            astore 4 /* code */
        start local 4 // org.eclipse.core.runtime.ISafeRunnable code
         4: .line 124
            aload 4 /* code */
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
         5: .line 125
            aload 3 /* bse */
            iconst_0
            aaload
            ifnull 7
         6: .line 126
            aload 3 /* bse */
            iconst_0
            aaload
            athrow
         7: .line 127
      StackMap locals: org.osgi.service.prefs.BackingStoreException[] org.eclipse.core.runtime.ISafeRunnable
      StackMap stack:
            return
        end local 4 // org.eclipse.core.runtime.ISafeRunnable code
        end local 3 // org.osgi.service.prefs.BackingStoreException[] bse
        end local 2 // java.util.Properties properties
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0    8     1        path  Ljava/lang/String;
            0    8     2  properties  Ljava/util/Properties;
            3    8     3         bse  [Lorg/osgi/service/prefs/BackingStoreException;
            4    8     4        code  Lorg/eclipse/core/runtime/ISafeRunnable;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
            Name  Flags
      path        final
      properties  final

  boolean isAlreadyLoaded(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // java.lang.String node
         0: .line 130
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.ScopeDescriptor.loadedNodes:Ljava/util/Set;
            aload 1 /* node */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String node
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0    1     1  node  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      node  

  void loaded(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // java.lang.String node
         0: .line 134
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.ScopeDescriptor.loadedNodes:Ljava/util/Set;
            aload 1 /* node */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 135
            return
        end local 1 // java.lang.String node
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0    2     1  node  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      node  

  void removed(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
        start local 1 // java.lang.String path
         0: .line 138
            aload 0 /* this */
            getfield org.eclipse.core.internal.preferences.ScopeDescriptor.storage:Lorg/eclipse/core/runtime/preferences/AbstractPreferenceStorage;
            ifnonnull 2
         1: .line 139
            return
         2: .line 140
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.internal.preferences.ScopeDescriptor$4
            dup
            aload 0 /* this */
            aload 1 /* path */
            invokespecial org.eclipse.core.internal.preferences.ScopeDescriptor$4.<init>:(Lorg/eclipse/core/internal/preferences/ScopeDescriptor;Ljava/lang/String;)V
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
         3: .line 151
            return
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.core.internal.preferences.ScopeDescriptor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/core/internal/preferences/ScopeDescriptor;
            0    4     1  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  final
}
SourceFile: "ScopeDescriptor.java"
NestMembers:
  org.eclipse.core.internal.preferences.ScopeDescriptor$1  org.eclipse.core.internal.preferences.ScopeDescriptor$2  org.eclipse.core.internal.preferences.ScopeDescriptor$3  org.eclipse.core.internal.preferences.ScopeDescriptor$4
InnerClasses:
  org.eclipse.core.internal.preferences.ScopeDescriptor$1
  org.eclipse.core.internal.preferences.ScopeDescriptor$2
  org.eclipse.core.internal.preferences.ScopeDescriptor$3
  org.eclipse.core.internal.preferences.ScopeDescriptor$4