class org.eclipse.core.internal.preferences.PreferencesService$1 implements org.eclipse.core.runtime.preferences.IPreferenceNodeVisitor
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.core.internal.preferences.PreferencesService$1
  super_class: java.lang.Object
{
  final org.eclipse.core.internal.preferences.PreferencesService this$0;
    descriptor: Lorg/eclipse/core/internal/preferences/PreferencesService;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.eclipse.core.internal.preferences.PreferencesService);
    descriptor: (Lorg/eclipse/core/internal/preferences/PreferencesService;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.PreferencesService$1 this
         0: .line 128
            aload 0 /* this */
            aload 1
            putfield org.eclipse.core.internal.preferences.PreferencesService$1.this$0:Lorg/eclipse/core/internal/preferences/PreferencesService;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.core.internal.preferences.PreferencesService$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/core/internal/preferences/PreferencesService$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public boolean visit(org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=13, args_size=2
        start local 0 // org.eclipse.core.internal.preferences.PreferencesService$1 this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
         0: .line 132
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            ifnonnull 3
         1: .line 133
            getstatic org.eclipse.core.internal.preferences.PreferencesService.root:Lorg/eclipse/core/internal/preferences/RootPreferences;
            astore 2 /* globalNode */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences globalNode
         2: goto 4
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences globalNode
         3: .line 135
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.core.internal.preferences.PreferencesService.root:Lorg/eclipse/core/internal/preferences/RootPreferences;
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.RootPreferences.node:(Ljava/lang/String;)Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            astore 2 /* globalNode */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences globalNode
         4: .line 136
      StackMap locals: org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aload 1 /* node */
            checkcast org.eclipse.core.internal.preferences.ExportedPreferences
            astore 3 /* epNode */
        start local 3 // org.eclipse.core.internal.preferences.ExportedPreferences epNode
         5: .line 140
            iconst_0
            istore 4 /* removed */
        start local 4 // boolean removed
         6: .line 141
            aload 3 /* epNode */
            invokevirtual org.eclipse.core.internal.preferences.ExportedPreferences.isExportRoot:()Z
            ifeq 11
         7: .line 142
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_GENERAL:Z
            ifeq 9
         8: .line 143
            new java.lang.StringBuilder
            dup
            ldc "Found export root: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* epNode */
            invokevirtual org.eclipse.core.internal.preferences.ExportedPreferences.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
         9: .line 145
      StackMap locals: org.eclipse.core.internal.preferences.ExportedPreferences int
      StackMap stack:
            aload 2 /* globalNode */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removeNode:()V
        10: .line 146
            iconst_1
            istore 4 /* removed */
        11: .line 151
      StackMap locals:
      StackMap stack:
            aload 3 /* epNode */
            getfield org.eclipse.core.internal.preferences.ExportedPreferences.properties:Lorg/eclipse/core/internal/preferences/ImmutableMap;
            invokevirtual org.eclipse.core.internal.preferences.ImmutableMap.keys:()[Ljava/lang/String;
            astore 5 /* keys */
        start local 5 // java.lang.String[] keys
        12: .line 154
            iload 4 /* removed */
            ifeq 14
        13: .line 155
            getstatic org.eclipse.core.internal.preferences.PreferencesService.root:Lorg/eclipse/core/internal/preferences/RootPreferences;
            aload 1 /* node */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.absolutePath:()Ljava/lang/String;
            invokevirtual org.eclipse.core.internal.preferences.RootPreferences.node:(Ljava/lang/String;)Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            astore 2 /* globalNode */
        14: .line 158
      StackMap locals: java.lang.String[]
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* propsToRemove */
        start local 6 // java.util.List propsToRemove
        15: .line 159
            aload 2 /* globalNode */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.keys:()[Ljava/lang/String;
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 19
      StackMap locals: org.eclipse.core.internal.preferences.PreferencesService$1 org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.internal.preferences.ExportedPreferences int java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
        16: aload 10
            iload 8
            aaload
            astore 7 /* key */
        start local 7 // java.lang.String key
        17: .line 160
            aload 6 /* propsToRemove */
            aload 7 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String key
        18: .line 159
            iinc 8 1
      StackMap locals:
      StackMap stack:
        19: iload 8
            iload 9
            if_icmplt 16
        20: .line 163
            aload 5 /* keys */
            arraylength
            ifle 34
        21: .line 164
            aconst_null
            astore 7 /* key */
        start local 7 // java.lang.String key
        22: .line 165
            aload 5 /* keys */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 33
      StackMap locals: org.eclipse.core.internal.preferences.PreferencesService$1 org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.internal.preferences.ExportedPreferences int java.lang.String[] java.util.List java.lang.String top int int java.lang.String[]
      StackMap stack:
        23: aload 11
            iload 9
            aaload
            astore 8 /* k */
        start local 8 // java.lang.String k
        24: .line 166
            aload 8 /* k */
            astore 7 /* key */
        25: .line 169
            aload 6 /* propsToRemove */
            aload 7 /* key */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        26: .line 173
            aload 7 /* key */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            astore 7 /* key */
        27: .line 174
            aload 1 /* node */
            aload 7 /* key */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* value */
        start local 12 // java.lang.String value
        28: .line 175
            aload 12 /* value */
            ifnull 32
        29: .line 176
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_SET:Z
            ifeq 31
        30: .line 177
            new java.lang.StringBuilder
            dup
            ldc "Setting: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* globalNode */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.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 7 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 61
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 12 /* 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
        31: .line 178
      StackMap locals: org.eclipse.core.internal.preferences.PreferencesService$1 org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.internal.preferences.ExportedPreferences int java.lang.String[] java.util.List java.lang.String java.lang.String int int java.lang.String[] java.lang.String
      StackMap stack:
            aload 2 /* globalNode */
            aload 7 /* key */
            aload 12 /* value */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
        end local 12 // java.lang.String value
        end local 8 // java.lang.String k
        32: .line 165
      StackMap locals: org.eclipse.core.internal.preferences.PreferencesService$1 org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.internal.preferences.ExportedPreferences int java.lang.String[] java.util.List java.lang.String top int int java.lang.String[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        33: iload 9
            iload 10
            if_icmplt 23
        end local 7 // java.lang.String key
        34: .line 183
      StackMap locals: org.eclipse.core.internal.preferences.PreferencesService$1 org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.internal.preferences.ExportedPreferences int java.lang.String[] java.util.List
      StackMap stack:
            aconst_null
            astore 7 /* keyToRemove */
        start local 7 // java.lang.String keyToRemove
        35: .line 184
            aload 6 /* propsToRemove */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* it */
        start local 8 // java.util.Iterator it
        36: goto 42
        37: .line 185
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            aload 8 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* keyToRemove */
        38: .line 186
            aload 7 /* keyToRemove */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            astore 7 /* keyToRemove */
        39: .line 187
            getstatic org.eclipse.core.internal.preferences.EclipsePreferences.DEBUG_PREFERENCE_SET:Z
            ifeq 41
        40: .line 188
            new java.lang.StringBuilder
            dup
            ldc "Removing: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* globalNode */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.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 7 /* keyToRemove */
            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
        41: .line 189
      StackMap locals:
      StackMap stack:
            aload 2 /* globalNode */
            aload 7 /* keyToRemove */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
        42: .line 184
      StackMap locals:
      StackMap stack:
            aload 8 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        end local 8 // java.util.Iterator it
        43: .line 193
            iconst_1
            ireturn
        end local 7 // java.lang.String keyToRemove
        end local 6 // java.util.List propsToRemove
        end local 5 // java.lang.String[] keys
        end local 4 // boolean removed
        end local 3 // org.eclipse.core.internal.preferences.ExportedPreferences epNode
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences globalNode
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences node
        end local 0 // org.eclipse.core.internal.preferences.PreferencesService$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   44     0           this  Lorg/eclipse/core/internal/preferences/PreferencesService$1;
            0   44     1           node  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            2    3     2     globalNode  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            4   44     2     globalNode  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            5   44     3         epNode  Lorg/eclipse/core/internal/preferences/ExportedPreferences;
            6   44     4        removed  Z
           12   44     5           keys  [Ljava/lang/String;
           15   44     6  propsToRemove  Ljava/util/List<Ljava/lang/String;>;
           17   18     7            key  Ljava/lang/String;
           22   34     7            key  Ljava/lang/String;
           24   32     8              k  Ljava/lang/String;
           28   32    12          value  Ljava/lang/String;
           35   44     7    keyToRemove  Ljava/lang/String;
           36   43     8             it  Ljava/util/Iterator<Ljava/lang/String;>;
    Exceptions:
      throws org.osgi.service.prefs.BackingStoreException
    MethodParameters:
      Name  Flags
      node  
}
SourceFile: "PreferencesService.java"
EnclosingMethod: org.eclipse.core.internal.preferences.PreferencesService.applyPreferences:(Lorg/eclipse/core/runtime/preferences/IExportedPreferences;)Lorg/eclipse/core/runtime/IStatus;
NestHost: org.eclipse.core.internal.preferences.PreferencesService
InnerClasses:
  org.eclipse.core.internal.preferences.PreferencesService$1