public class org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener implements org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener this
         0: .line 1658
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener;

  public void preferenceChange(org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$PreferenceChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent event
         0: .line 1664
            aload 1 /* event */
            invokevirtual org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent.getKey:()Ljava/lang/String;
            astore 2 /* propertyName */
        start local 2 // java.lang.String propertyName
         1: .line 1665
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 59
         2: .line 1666
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpathVariable."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 23
         3: .line 1667
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpathVariable."
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* varName */
        start local 3 // java.lang.String varName
         4: .line 1668
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 4 /* manager */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager manager
         5: .line 1669
            aload 4 /* manager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variablesWithInitializer:Ljava/util/HashSet;
            aload 3 /* varName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 12
         6: .line 1671
            aload 1 /* event */
            invokevirtual org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent.getOldValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* oldValue */
        start local 5 // java.lang.String oldValue
         7: .line 1672
            aload 5 /* oldValue */
            ifnonnull 10
         8: .line 1674
            aload 4 /* manager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variablesWithInitializer:Ljava/util/HashSet;
            aload 3 /* varName */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         9: .line 1675
            goto 59
        10: .line 1676
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent java.lang.String java.lang.String org.eclipse.jdt.internal.core.JavaModelManager java.lang.String
      StackMap stack:
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInstancePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 3 /* varName */
            aload 5 /* oldValue */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
        end local 5 // java.lang.String oldValue
        11: .line 1678
            goto 59
        12: .line 1679
      StackMap locals:
      StackMap stack:
            aload 1 /* event */
            invokevirtual org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent.getNewValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* newValue */
        start local 5 // java.lang.String newValue
        13: .line 1681
            aload 5 /* newValue */
            ifnull 16
            aload 5 /* newValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            dup
            astore 5 /* newValue */
            ldc "##<cp entry ignore>##"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
        14: .line 1682
            new org.eclipse.core.runtime.Path
            dup
            aload 5 /* newValue */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 6 /* newPath */
        start local 6 // org.eclipse.core.runtime.IPath newPath
        15: .line 1683
            goto 17
        end local 6 // org.eclipse.core.runtime.IPath newPath
        16: .line 1684
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 6 /* newPath */
        start local 6 // org.eclipse.core.runtime.IPath newPath
        17: .line 1687
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            new org.eclipse.jdt.internal.core.SetVariablesOperation
            dup
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* varName */
            aastore
            iconst_1
            anewarray org.eclipse.core.runtime.IPath
            dup
            iconst_0
            aload 6 /* newPath */
            aastore
            iconst_0
            invokespecial org.eclipse.jdt.internal.core.SetVariablesOperation.<init>:([Ljava/lang/String;[Lorg/eclipse/core/runtime/IPath;Z)V
            astore 7 /* operation */
        start local 7 // org.eclipse.jdt.internal.core.SetVariablesOperation operation
        18: .line 1688
            aload 7 /* operation */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.SetVariablesOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        end local 7 // org.eclipse.jdt.internal.core.SetVariablesOperation operation
        19: .line 1689
            goto 59
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        20: astore 7 /* e */
        start local 7 // org.eclipse.jdt.core.JavaModelException e
        21: .line 1690
            aload 7 /* e */
            new java.lang.StringBuilder
            dup
            ldc "Could not set classpath variable "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* varName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* newPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 7 // org.eclipse.jdt.core.JavaModelException e
        end local 6 // org.eclipse.core.runtime.IPath newPath
        end local 5 // java.lang.String newValue
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 3 // java.lang.String varName
        22: .line 1693
            goto 59
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent java.lang.String
      StackMap stack:
        23: aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpathContainer."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 26
        24: .line 1694
            aload 2 /* propertyName */
            aload 1 /* event */
            invokevirtual org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent.getNewValue:()Ljava/lang/Object;
            checkcast java.lang.String
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.recreatePersistedContainer:(Ljava/lang/String;Ljava/lang/String;Z)V
        25: .line 1695
            goto 59
      StackMap locals:
      StackMap stack:
        26: aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.builder.cleanOutputFolder"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        27: .line 1696
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.builder.resourceCopyExclusionFilter"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        28: .line 1697
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.builder.duplicateResourceTask"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        29: .line 1698
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        30: .line 1699
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.builder.invalidClasspath"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        31: .line 1700
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpath.exclusionPatterns"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        32: .line 1701
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpath.multipleOutputLocations"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        33: .line 1702
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.incompleteClasspath"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        34: .line 1703
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.circularClasspath"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        35: .line 1704
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.incompatibleJDKLevel"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        36: .line 1705
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        37: .line 1706
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.compiler.codegen.targetPlatform"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 39
        38: .line 1707
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        39: .line 1708
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 3 /* manager */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager manager
        40: .line 1709
            aload 3 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            astore 4 /* model */
        start local 4 // org.eclipse.jdt.core.IJavaModel model
        41: .line 1712
            aload 4 /* model */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 5 /* jProjects */
        start local 5 // org.eclipse.jdt.core.IJavaProject[] jProjects
        42: .line 1713
            aload 5 /* jProjects */
            arraylength
            anewarray org.eclipse.core.resources.IProject
            astore 6 /* projects */
        start local 6 // org.eclipse.core.resources.IProject[] projects
        43: .line 1714
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        44: aload 5 /* jProjects */
            arraylength
            istore 8 /* pl */
        start local 8 // int pl
        45: goto 50
        46: .line 1715
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent java.lang.String org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IJavaProject[] org.eclipse.core.resources.IProject[] int int
      StackMap stack:
            aload 5 /* jProjects */
            iload 7 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 9 /* javaProject */
        start local 9 // org.eclipse.jdt.internal.core.JavaProject javaProject
        47: .line 1716
            aload 6 /* projects */
            iload 7 /* i */
            aload 9 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            aastore
        48: .line 1717
            aload 3 /* manager */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            aload 9 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.addClasspathValidation:(Lorg/eclipse/jdt/internal/core/JavaProject;)Lorg/eclipse/jdt/internal/core/ClasspathValidation;
            pop
        end local 9 // org.eclipse.jdt.internal.core.JavaProject javaProject
        49: .line 1714
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 7 /* i */
            iload 8 /* pl */
            if_icmplt 46
        end local 8 // int pl
        end local 7 // int i
        51: .line 1719
            aload 3 /* manager */
            aload 6 /* projects */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.touchProjects:([Lorg/eclipse/core/resources/IProject;Lorg/eclipse/core/runtime/IProgressMonitor;)V
        end local 6 // org.eclipse.core.resources.IProject[] projects
        52: .line 1720
            goto 59
        end local 5 // org.eclipse.jdt.core.IJavaProject[] jProjects
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent java.lang.String org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaModel
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        53: pop
        end local 4 // org.eclipse.jdt.core.IJavaModel model
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager manager
        54: .line 1723
            goto 59
      StackMap locals:
      StackMap stack:
        55: aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.userLibrary."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 59
        56: .line 1724
            aload 2 /* propertyName */
            ldc "org.eclipse.jdt.core.userLibrary."
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* libName */
        start local 3 // java.lang.String libName
        57: .line 1725
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getUserLibraryManager:()Lorg/eclipse/jdt/internal/core/UserLibraryManager;
            astore 4 /* manager */
        start local 4 // org.eclipse.jdt.internal.core.UserLibraryManager manager
        58: .line 1726
            aload 4 /* manager */
            aload 3 /* libName */
            aload 1 /* event */
            invokevirtual org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent.getNewValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual org.eclipse.jdt.internal.core.UserLibraryManager.updateUserLibrary:(Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // org.eclipse.jdt.internal.core.UserLibraryManager manager
        end local 3 // java.lang.String libName
        59: .line 1731
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* projects */
        start local 3 // org.eclipse.jdt.core.IJavaProject[] projects
        60: .line 1732
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        61: aload 3 /* projects */
            arraylength
            istore 5 /* length */
        start local 5 // int length
        62: goto 65
        63: .line 1733
      StackMap locals: org.eclipse.jdt.core.IJavaProject[] int int
      StackMap stack:
            aload 3 /* projects */
            iload 4 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaProject
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resetCaches:()V
        64: .line 1732
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 63
        end local 5 // int length
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IJavaProject[] projects
        66: .line 1735
            goto 68
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent java.lang.String
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        67: pop
        68: .line 1738
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String propertyName
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent event
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   69     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener;
            0   69     1         event  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$PreferenceChangeEvent;
            1   69     2  propertyName  Ljava/lang/String;
            4   22     3       varName  Ljava/lang/String;
            5   22     4       manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            7   11     5      oldValue  Ljava/lang/String;
           13   22     5      newValue  Ljava/lang/String;
           15   16     6       newPath  Lorg/eclipse/core/runtime/IPath;
           17   22     6       newPath  Lorg/eclipse/core/runtime/IPath;
           18   19     7     operation  Lorg/eclipse/jdt/internal/core/SetVariablesOperation;
           21   22     7             e  Lorg/eclipse/jdt/core/JavaModelException;
           40   54     3       manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
           41   54     4         model  Lorg/eclipse/jdt/core/IJavaModel;
           42   53     5     jProjects  [Lorg/eclipse/jdt/core/IJavaProject;
           43   52     6      projects  [Lorg/eclipse/core/resources/IProject;
           44   51     7             i  I
           45   51     8            pl  I
           47   49     9   javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
           57   59     3       libName  Ljava/lang/String;
           58   59     4       manager  Lorg/eclipse/jdt/internal/core/UserLibraryManager;
           60   66     3      projects  [Lorg/eclipse/jdt/core/IJavaProject;
           61   66     4             i  I
           62   66     5        length  I
      Exception table:
        from    to  target  type
          17    19      20  Class org.eclipse.jdt.core.JavaModelException
          41    52      53  Class org.eclipse.jdt.core.JavaModelException
          59    66      67  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      event  
}
SourceFile: "JavaModelManager.java"
NestHost: org.eclipse.jdt.internal.core.JavaModelManager
InnerClasses:
  public abstract IPreferenceChangeListener = org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public final PreferenceChangeEvent = org.eclipse.core.runtime.preferences.IEclipsePreferences$PreferenceChangeEvent of org.eclipse.core.runtime.preferences.IEclipsePreferences
  public EclipsePreferencesListener = org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener of org.eclipse.jdt.internal.core.JavaModelManager