public class org.eclipse.jdt.internal.core.JavaModelManager implements org.eclipse.core.resources.ISaveParticipant, org.eclipse.core.runtime.content.IContentTypeManager$IContentTypeChangeListener
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.JavaModelManager
  super_class: java.lang.Object
{
  private static org.osgi.framework.ServiceRegistration<org.eclipse.osgi.service.debug.DebugOptionsListener> DEBUG_REGISTRATION;
    descriptor: Lorg/osgi/framework/ServiceRegistration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Lorg/osgi/framework/ServiceRegistration<Lorg/eclipse/osgi/service/debug/DebugOptionsListener;>;

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

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

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

  final org.eclipse.jdt.internal.core.JavaModel javaModel;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaModel;
    flags: (0x0010) ACC_FINAL

  public java.util.HashMap<java.lang.String, org.eclipse.core.runtime.IPath> variables;
    descriptor: Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;>;

  public java.util.HashSet<java.lang.String> variablesWithInitializer;
    descriptor: Ljava/util/HashSet;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  public java.util.HashMap<java.lang.String, java.lang.String> deprecatedVariables;
    descriptor: Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;

  public java.util.HashSet<java.lang.String> readOnlyVariables;
    descriptor: Ljava/util/HashSet;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashSet<Ljava/lang/String;>;

  public java.util.HashMap<java.lang.String, org.eclipse.core.runtime.IPath> previousSessionVariables;
    descriptor: Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;>;

  private java.lang.ThreadLocal<java.util.Set<java.lang.String>> variableInitializationInProgress;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Ljava/util/Set<Ljava/lang/String;>;>;

  public java.util.HashMap<org.eclipse.jdt.core.IJavaProject, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer>> containers;
    descriptor: Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;

  public java.util.HashMap<org.eclipse.jdt.core.IJavaProject, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer>> previousSessionContainers;
    descriptor: Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;

  private java.lang.ThreadLocal<java.util.Map<org.eclipse.jdt.core.IJavaProject, java.util.Set<org.eclipse.core.runtime.IPath>>> containerInitializationInProgress;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;>;>;

  java.lang.ThreadLocal<java.util.Map<org.eclipse.jdt.core.IJavaProject, java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer>>> containersBeingInitialized;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0000) 
    Signature: Ljava/lang/ThreadLocal<Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;>;

  public static final int NO_BATCH_INITIALIZATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int NEED_BATCH_INITIALIZATION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int BATCH_INITIALIZATION_IN_PROGRESS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int BATCH_INITIALIZATION_FINISHED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public int batchContainerInitializations;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public java.lang.Object batchContainerInitializationsLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.core.BatchInitializationMonitor batchContainerInitializationsProgress;
    descriptor: Lorg/eclipse/jdt/internal/core/BatchInitializationMonitor;
    flags: (0x0001) ACC_PUBLIC

  public java.util.Hashtable<java.lang.String, org.eclipse.jdt.core.ClasspathContainerInitializer> containerInitializersCache;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;>;

  private java.lang.ThreadLocal<java.util.Set<org.eclipse.jdt.core.IJavaProject>> classpathsBeingResolved;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Ljava/util/Set<Lorg/eclipse/jdt/core/IJavaProject;>;>;

  public org.eclipse.jdt.internal.core.search.JavaWorkspaceScope workspaceScope;
    descriptor: Lorg/eclipse/jdt/internal/core/search/JavaWorkspaceScope;
    flags: (0x0001) ACC_PUBLIC

  private org.eclipse.jdt.internal.core.util.WeakHashSet stringSymbols;
    descriptor: Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.core.util.WeakHashSetOfCharArray charArraySymbols;
    descriptor: Lorg/eclipse/jdt/internal/core/util/WeakHashSetOfCharArray;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.core.runtime.IConfigurationElement annotationProcessorManagerFactory;
    descriptor: Lorg/eclipse/core/runtime/IConfigurationElement;
    flags: (0x0002) ACC_PRIVATE

  public java.util.Map<org.eclipse.core.runtime.IPath, java.lang.String> rootPathToAttachments;
    descriptor: Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;>;

  public static final java.lang.String CP_VARIABLE_PREFERENCES_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core.classpathVariable."

  public static final java.lang.String CP_CONTAINER_PREFERENCES_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core.classpathContainer."

  public static final java.lang.String CP_USERLIBRARY_PREFERENCES_PREFIX;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core.userLibrary."

  public static final java.lang.String CP_ENTRY_IGNORE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "##<cp entry ignore>##"

  public static final org.eclipse.core.runtime.IPath CP_ENTRY_IGNORE_PATH;
    descriptor: Lorg/eclipse/core/runtime/IPath;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

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

  public static final org.eclipse.core.runtime.IPath VARIABLE_INITIALIZATION_IN_PROGRESS;
    descriptor: Lorg/eclipse/core/runtime/IPath;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.eclipse.jdt.core.IClasspathContainer CONTAINER_INITIALIZATION_IN_PROGRESS;
    descriptor: Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.lang.String DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug"

  private static final java.lang.String BUFFER_MANAGER_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/buffermanager"

  private static final java.lang.String INDEX_MANAGER_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/indexmanager"

  private static final java.lang.String INDEX_MANAGER_ADVANCED_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/indexmanager/advanced"

  private static final java.lang.String COMPILER_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/compiler"

  private static final java.lang.String JAVAMODEL_CLASSPATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javamodel/classpath"

  private static final java.lang.String JAVAMODEL_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javamodel"

  private static final java.lang.String JAVAMODEL_INVALID_ARCHIVES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javamodel/invalid_archives"

  private static final java.lang.String JAVAMODELCACHE_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javamodel/cache"

  private static final java.lang.String JAVAMODELCACHE_INSERTIONS_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javamodel/insertions"

  private static final java.lang.String CP_RESOLVE_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/cpresolution"

  private static final java.lang.String CP_RESOLVE_ADVANCED_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/cpresolution/advanced"

  private static final java.lang.String CP_RESOLVE_FAILURE_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/cpresolution/failure"

  private static final java.lang.String ZIP_ACCESS_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/zipaccess"

  private static final java.lang.String DELTA_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javadelta"

  private static final java.lang.String DELTA_DEBUG_VERBOSE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/javadelta/verbose"

  private static final java.lang.String DOM_AST_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/dom/ast"

  private static final java.lang.String DOM_AST_DEBUG_THROW;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/dom/ast/throw"

  private static final java.lang.String DOM_REWRITE_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/dom/rewrite"

  private static final java.lang.String HIERARCHY_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/hierarchy"

  private static final java.lang.String POST_ACTION_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/postaction"

  private static final java.lang.String BUILDER_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/builder"

  private static final java.lang.String BUILDER_STATS_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/builder/stats"

  private static final java.lang.String COMPLETION_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/completion"

  private static final java.lang.String RESOLUTION_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/resolution"

  private static final java.lang.String SELECTION_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/selection"

  private static final java.lang.String SEARCH_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/search"

  private static final java.lang.String SOURCE_MAPPER_DEBUG_VERBOSE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/sourcemapper"

  private static final java.lang.String FORMATTER_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/formatter"

  private static final java.lang.String INDEX_DEBUG_LARGE_CHUNKS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/freespacetest"

  private static final java.lang.String INDEX_DEBUG_PAGE_CACHE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/pagecache"

  private static final java.lang.String INDEX_INDEXER_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/indexer"

  private static final java.lang.String INDEX_INDEXER_INSERTIONS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/insertions"

  private static final java.lang.String INDEX_INDEXER_SCHEDULING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/scheduling"

  private static final java.lang.String INDEX_INDEXER_SELFTEST;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/selftest"

  private static final java.lang.String INDEX_LOCKS_DEBUG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/locks"

  private static final java.lang.String INDEX_INDEXER_SPACE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/space"

  private static final java.lang.String INDEX_INDEXER_TIMING;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/timing"

  private static final java.lang.String INDEX_INDEXER_LOG_SIZE_MEGS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/debug/index/logsizemegs"

  public static final java.lang.String COMPLETION_PERF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/perf/completion"

  public static final java.lang.String SELECTION_PERF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/perf/selection"

  public static final java.lang.String DELTA_LISTENER_PERF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/perf/javadeltalistener"

  public static final java.lang.String VARIABLE_INITIALIZER_PERF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/perf/variableinitializer"

  public static final java.lang.String CONTAINER_INITIALIZER_PERF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/perf/containerinitializer"

  public static final java.lang.String RECONCILE_PERF;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.core/perf/reconcile"

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

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

  boolean resolveReferencedLibrariesForContainers;
    descriptor: Z
    flags: (0x0000) 

  public static final org.eclipse.jdt.core.ICompilationUnit[] NO_WORKING_COPY;
    descriptor: [Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

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

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

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

  java.util.Map<java.lang.String, java.lang.String[]> deprecatedOptions;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;[Ljava/lang/String;>;

  java.util.Hashtable<java.lang.String, java.lang.String> optionsCache;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0000) 
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;

  public final org.eclipse.core.runtime.preferences.IEclipsePreferences[] preferencesLookup;
    descriptor: [Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  static final int PREF_INSTANCE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  static final int PREF_DEFAULT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final java.lang.Object[][] NO_PARTICIPANTS;
    descriptor: [[Ljava/lang/Object;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public final org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants compilationParticipants;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public java.lang.ThreadLocal<java.lang.Boolean> abortOnMissingSource;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;

  private org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager;
    descriptor: Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
    flags: (0x0002) ACC_PRIVATE

  private static org.eclipse.jdt.internal.core.JavaModelManager MANAGER;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaModelManager;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private org.eclipse.jdt.internal.core.JavaModelCache cache;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaModelCache;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ThreadLocal<java.util.HashMap<org.eclipse.jdt.core.IJavaElement, java.lang.Object>> temporaryCache;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;>;

  protected java.util.HashSet<org.eclipse.jdt.internal.core.Openable> elementsOutOfSynchWithBuffers;
    descriptor: Ljava/util/HashSet;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/HashSet<Lorg/eclipse/jdt/internal/core/Openable;>;

  public org.eclipse.jdt.internal.core.DeltaProcessingState deltaState;
    descriptor: Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
    flags: (0x0001) ACC_PUBLIC

  public org.eclipse.jdt.internal.core.search.indexing.IndexManager indexManager;
    descriptor: Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
    flags: (0x0001) ACC_PUBLIC

  protected java.util.Map<org.eclipse.core.resources.IProject, org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo> perProjectInfos;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;>;

  protected java.util.HashMap<org.eclipse.jdt.core.WorkingCopyOwner, java.util.Map<org.eclipse.jdt.internal.core.CompilationUnit, org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo>> perWorkingCopyInfos;
    descriptor: Ljava/util/HashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/HashMap<Lorg/eclipse/jdt/core/WorkingCopyOwner;Ljava/util/Map<Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;>;

  protected java.util.WeakHashMap<org.eclipse.jdt.internal.core.search.AbstractSearchScope, ?> searchScopes;
    descriptor: Ljava/util/WeakHashMap;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/WeakHashMap<Lorg/eclipse/jdt/internal/core/search/AbstractSearchScope;*>;

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

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

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

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

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

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

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

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

  private java.lang.ThreadLocal<org.eclipse.jdt.internal.core.JavaModelManager$ZipCache> zipFiles;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Lorg/eclipse/jdt/internal/core/JavaModelManager$ZipCache;>;

  private org.eclipse.jdt.internal.core.UserLibraryManager userLibraryManager;
    descriptor: Lorg/eclipse/jdt/internal/core/UserLibraryManager;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.core.ModuleSourcePathManager modulePathManager;
    descriptor: Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set<org.eclipse.core.runtime.IPath> nonChainingJars;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;

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

  private final java.util.Map<org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo> invalidArchives;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaModelManager$InvalidArchiveInfo;>;

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

  private java.util.Set<org.eclipse.core.runtime.IPath> externalFiles;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;

  private java.util.Set<org.eclipse.core.runtime.IPath> assumedExternalFiles;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;

  org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener instancePreferencesListener;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener;
    flags: (0x0000) 

  org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener instanceNodeListener;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
    flags: (0x0000) 

  org.eclipse.core.runtime.preferences.IEclipsePreferences$INodeChangeListener defaultNodeListener;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
    flags: (0x0000) 

  org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener propertyListener;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
    flags: (0x0000) 

  org.eclipse.core.runtime.preferences.IEclipsePreferences$IPreferenceChangeListener resourcesPropertyListener;
    descriptor: Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
    flags: (0x0000) 

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

  private static volatile int[] $SWITCH_TABLE$org$eclipse$jdt$internal$core$JavaModelManager$ArchiveValidity;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 306
            new org.eclipse.core.runtime.Path
            dup
            ldc "##<cp entry ignore>##"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_ENTRY_IGNORE_PATH:Lorg/eclipse/core/runtime/IPath;
         1: .line 350
            new org.eclipse.core.runtime.Path
            dup
            ldc "Variable Initialization In Progress"
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.VARIABLE_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/core/runtime/IPath;
         2: .line 351
            new org.eclipse.jdt.internal.core.JavaModelManager$1
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$1.<init>:()V
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.CONTAINER_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/jdt/core/IClasspathContainer;
         3: .line 411
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.PERF_VARIABLE_INITIALIZER:Z
         4: .line 412
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.PERF_CONTAINER_INITIALIZER:Z
         5: .line 416
            iconst_0
            anewarray org.eclipse.jdt.core.ICompilationUnit
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.NO_WORKING_COPY:[Lorg/eclipse/jdt/core/ICompilationUnit;
         6: .line 431
            iconst_0
            anewarray java.lang.Object[]
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.NO_PARTICIPANTS:[[Ljava/lang/Object;
         7: .line 1218
            new org.eclipse.jdt.internal.core.JavaModelManager
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager.<init>:()V
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
         8: .line 1593
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
         9: .line 1594
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_CLASSPATH:Z
        10: .line 1595
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_INVALID_ARCHIVES:Z
        11: .line 1596
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
        12: .line 1597
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
        13: .line 1598
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
        14: .line 1599
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
        15: .line 1600
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.JRT_ACCESS_VERBOSE:Z
        16: .line 1617
            ldc 120000
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.INVALID_ARCHIVE_TTL_MILLISECONDS:J
        17: .line 2914
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.throwIoExceptionsInGetZipFile:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean conflictsWithOutputLocation(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.JavaProject);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=8, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath folderPath
        start local 1 // org.eclipse.jdt.internal.core.JavaProject project
         0: .line 615
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* outputLocation */
        start local 2 // org.eclipse.core.runtime.IPath outputLocation
         1: .line 616
            aload 2 /* outputLocation */
            ifnonnull 3
         2: .line 618
            iconst_1
            ireturn
         3: .line 620
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* outputLocation */
            aload 0 /* folderPath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 19
         4: .line 623
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* classpath */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         5: .line 624
            iconst_0
            istore 4 /* isOutputUsed */
        start local 4 // boolean isOutputUsed
         6: .line 625
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         7: aload 3 /* classpath */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         8: goto 16
         9: .line 626
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IClasspathEntry[] int int int
      StackMap stack:
            aload 3 /* classpath */
            iload 5 /* i */
            aaload
            astore 7 /* entry */
        start local 7 // org.eclipse.jdt.core.IClasspathEntry entry
        10: .line 627
            aload 7 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_3
            if_icmpne 15
        11: .line 628
            aload 7 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 2 /* outputLocation */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 629
            iconst_0
            ireturn
        13: .line 631
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 7 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getOutputLocation:()Lorg/eclipse/core/runtime/IPath;
            ifnonnull 15
        14: .line 632
            iconst_1
            istore 4 /* isOutputUsed */
        end local 7 // org.eclipse.jdt.core.IClasspathEntry entry
        15: .line 625
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 9
        end local 6 // int length
        end local 5 // int i
        17: .line 636
            iload 4 /* isOutputUsed */
        18: ireturn
        end local 4 // boolean isOutputUsed
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        19: .line 638
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.JavaProject org.eclipse.core.runtime.IPath
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.core.runtime.IPath outputLocation
        20: .line 639
      StackMap locals: org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.JavaProject
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        21: .line 641
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.core.JavaProject project
        end local 0 // org.eclipse.core.runtime.IPath folderPath
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0      folderPath  Lorg/eclipse/core/runtime/IPath;
            0   22     1         project  Lorg/eclipse/jdt/internal/core/JavaProject;
            1   20     2  outputLocation  Lorg/eclipse/core/runtime/IPath;
            5   19     3       classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
            6   19     4    isOutputUsed  Z
            7   17     5               i  I
            8   17     6          length  I
           10   15     7           entry  Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           0     2      20  Class org.eclipse.jdt.core.JavaModelException
           3    12      20  Class org.eclipse.jdt.core.JavaModelException
          13    18      20  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
            Name  Flags
      folderPath  
      project     

  public synchronized org.eclipse.jdt.core.IClasspathContainer containerGet(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 647
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerIsInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 2
         1: .line 648
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CONTAINER_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/jdt/core/IClasspathContainer;
            areturn
         2: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            aload 1 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* projectContainers */
        start local 3 // java.util.Map projectContainers
         3: .line 652
            aload 3 /* projectContainers */
            ifnonnull 5
         4: .line 653
            aconst_null
            areturn
         5: .line 655
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* projectContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathContainer
            astore 4 /* container */
        start local 4 // org.eclipse.jdt.core.IClasspathContainer container
         6: .line 656
            aload 4 /* container */
            areturn
        end local 4 // org.eclipse.jdt.core.IClasspathContainer container
        end local 3 // java.util.Map projectContainers
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1            project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2      containerPath  Lorg/eclipse/core/runtime/IPath;
            3    7     3  projectContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
            6    7     4          container  Lorg/eclipse/jdt/core/IClasspathContainer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  synchronized boolean containerIsSet(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 660
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            aload 1 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* projectContainers */
        start local 3 // java.util.Map projectContainers
         1: .line 661
            aload 3 /* projectContainers */
            ifnonnull 3
         2: .line 662
            iconst_0
            ireturn
         3: .line 664
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* projectContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathContainer
            astore 4 /* container */
        start local 4 // org.eclipse.jdt.core.IClasspathContainer container
         4: .line 665
            aload 4 /* container */
            ifnull 5
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
         5: iconst_0
            ireturn
        end local 4 // org.eclipse.jdt.core.IClasspathContainer container
        end local 3 // java.util.Map projectContainers
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1            project  Lorg/eclipse/jdt/core/IJavaProject;
            0    6     2      containerPath  Lorg/eclipse/core/runtime/IPath;
            1    6     3  projectContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
            4    6     4          container  Lorg/eclipse/jdt/core/IClasspathContainer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  public synchronized org.eclipse.jdt.core.IClasspathContainer containerGetDefaultToPreviousSession(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 669
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            aload 1 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* projectContainers */
        start local 3 // java.util.Map projectContainers
         1: .line 670
            aload 3 /* projectContainers */
            ifnonnull 3
         2: .line 671
            aload 0 /* this */
            aload 2 /* containerPath */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPreviousSessionContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            areturn
         3: .line 672
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* projectContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathContainer
            astore 4 /* container */
        start local 4 // org.eclipse.jdt.core.IClasspathContainer container
         4: .line 673
            aload 4 /* container */
            ifnonnull 6
         5: .line 674
            aload 0 /* this */
            aload 2 /* containerPath */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPreviousSessionContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            areturn
         6: .line 675
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            aload 4 /* container */
            areturn
        end local 4 // org.eclipse.jdt.core.IClasspathContainer container
        end local 3 // java.util.Map projectContainers
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1            project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2      containerPath  Lorg/eclipse/core/runtime/IPath;
            1    7     3  projectContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
            4    7     4          container  Lorg/eclipse/jdt/core/IClasspathContainer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  private boolean containerIsInitializationInProgress(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 679
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* initializations */
        start local 3 // java.util.Map initializations
         1: .line 680
            aload 3 /* initializations */
            ifnonnull 3
         2: .line 681
            iconst_0
            ireturn
         3: .line 682
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* initializations */
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* projectInitializations */
        start local 4 // java.util.Set projectInitializations
         4: .line 683
            aload 4 /* projectInitializations */
            ifnonnull 6
         5: .line 684
            iconst_0
            ireturn
         6: .line 685
      StackMap locals: java.util.Set
      StackMap stack:
            aload 4 /* projectInitializations */
            aload 2 /* containerPath */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 4 // java.util.Set projectInitializations
        end local 3 // java.util.Map initializations
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    7     0                    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1                 project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2           containerPath  Lorg/eclipse/core/runtime/IPath;
            1    7     3         initializations  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;>;
            4    7     4  projectInitializations  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  private void containerAddInitializationInProgress(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 689
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* initializations */
        start local 3 // java.util.Map initializations
         1: .line 690
            aload 3 /* initializations */
            ifnonnull 3
         2: .line 691
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            dup
            astore 3 /* initializations */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         3: .line 692
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* initializations */
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* projectInitializations */
        start local 4 // java.util.Set projectInitializations
         4: .line 693
            aload 4 /* projectInitializations */
            ifnonnull 6
         5: .line 694
            aload 3 /* initializations */
            aload 1 /* project */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            dup
            astore 4 /* projectInitializations */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 695
      StackMap locals: java.util.Set
      StackMap stack:
            aload 4 /* projectInitializations */
            aload 2 /* containerPath */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         7: .line 696
            return
        end local 4 // java.util.Set projectInitializations
        end local 3 // java.util.Map initializations
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0                    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    8     1                 project  Lorg/eclipse/jdt/core/IJavaProject;
            0    8     2           containerPath  Lorg/eclipse/core/runtime/IPath;
            1    8     3         initializations  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;>;
            4    8     4  projectInitializations  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  public void containerBeingInitializedPut(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.IClasspathContainer container
         0: .line 699
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containersBeingInitialized:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* perProjectContainers */
        start local 4 // java.util.Map perProjectContainers
         1: .line 700
            aload 4 /* perProjectContainers */
            ifnonnull 3
         2: .line 701
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containersBeingInitialized:Ljava/lang/ThreadLocal;
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            dup
            astore 4 /* perProjectContainers */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         3: .line 702
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* perProjectContainers */
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* perPathContainers */
        start local 5 // java.util.Map perPathContainers
         4: .line 703
            aload 5 /* perPathContainers */
            ifnonnull 6
         5: .line 704
            aload 4 /* perProjectContainers */
            aload 1 /* project */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            dup
            astore 5 /* perPathContainers */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 705
      StackMap locals: java.util.Map
      StackMap stack:
            aload 5 /* perPathContainers */
            aload 2 /* containerPath */
            aload 3 /* container */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 706
            return
        end local 5 // java.util.Map perPathContainers
        end local 4 // java.util.Map perProjectContainers
        end local 3 // org.eclipse.jdt.core.IClasspathContainer container
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    8     1               project  Lorg/eclipse/jdt/core/IJavaProject;
            0    8     2         containerPath  Lorg/eclipse/core/runtime/IPath;
            0    8     3             container  Lorg/eclipse/jdt/core/IClasspathContainer;
            1    8     4  perProjectContainers  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;
            4    8     5     perPathContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      container      

  public org.eclipse.jdt.core.IClasspathContainer containerBeingInitializedGet(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 709
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containersBeingInitialized:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* perProjectContainers */
        start local 3 // java.util.Map perProjectContainers
         1: .line 710
            aload 3 /* perProjectContainers */
            ifnonnull 3
         2: .line 711
            aconst_null
            areturn
         3: .line 712
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* perProjectContainers */
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* perPathContainers */
        start local 4 // java.util.Map perPathContainers
         4: .line 713
            aload 4 /* perPathContainers */
            ifnonnull 6
         5: .line 714
            aconst_null
            areturn
         6: .line 715
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* perPathContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathContainer
            areturn
        end local 4 // java.util.Map perPathContainers
        end local 3 // java.util.Map perProjectContainers
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    7     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1               project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2         containerPath  Lorg/eclipse/core/runtime/IPath;
            1    7     3  perProjectContainers  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;
            4    7     4     perPathContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  public org.eclipse.jdt.core.IClasspathContainer containerBeingInitializedRemove(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 719
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containersBeingInitialized:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* perProjectContainers */
        start local 3 // java.util.Map perProjectContainers
         1: .line 720
            aload 3 /* perProjectContainers */
            ifnonnull 3
         2: .line 721
            aconst_null
            areturn
         3: .line 722
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* perProjectContainers */
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* perPathContainers */
        start local 4 // java.util.Map perPathContainers
         4: .line 723
            aload 4 /* perPathContainers */
            ifnonnull 6
         5: .line 724
            aconst_null
            areturn
         6: .line 725
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* perPathContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathContainer
            astore 5 /* container */
        start local 5 // org.eclipse.jdt.core.IClasspathContainer container
         7: .line 726
            aload 4 /* perPathContainers */
            invokeinterface java.util.Map.size:()I
            ifne 9
         8: .line 727
            aload 3 /* perProjectContainers */
            aload 1 /* project */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 728
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            aload 3 /* perProjectContainers */
            invokeinterface java.util.Map.size:()I
            ifne 11
        10: .line 729
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containersBeingInitialized:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        11: .line 730
      StackMap locals:
      StackMap stack:
            aload 5 /* container */
            areturn
        end local 5 // org.eclipse.jdt.core.IClasspathContainer container
        end local 4 // java.util.Map perPathContainers
        end local 3 // java.util.Map perProjectContainers
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   12     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   12     1               project  Lorg/eclipse/jdt/core/IJavaProject;
            0   12     2         containerPath  Lorg/eclipse/core/runtime/IPath;
            1   12     3  perProjectContainers  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;
            4   12     4     perPathContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
            7   12     5             container  Lorg/eclipse/jdt/core/IClasspathContainer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  public synchronized void containerPut(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.IClasspathContainer container
         0: .line 736
            aload 3 /* container */
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CONTAINER_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/jdt/core/IClasspathContainer;
            if_acmpne 3
         1: .line 737
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerAddInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
         2: .line 740
            return
         3: .line 742
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerRemoveInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
         4: .line 744
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            aload 1 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* projectContainers */
        start local 4 // java.util.Map projectContainers
         5: .line 745
            aload 4 /* projectContainers */
            ifnonnull 8
         6: .line 746
            new java.util.HashMap
            dup
            iconst_1
            invokespecial java.util.HashMap.<init>:(I)V
            astore 4 /* projectContainers */
         7: .line 747
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            aload 1 /* project */
            aload 4 /* projectContainers */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 750
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* container */
            ifnonnull 11
         9: .line 751
            aload 4 /* projectContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 752
            goto 12
        11: .line 753
      StackMap locals:
      StackMap stack:
            aload 4 /* projectContainers */
            aload 2 /* containerPath */
            aload 3 /* container */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionContainers:Ljava/util/HashMap;
            aload 1 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* previousContainers */
        start local 5 // java.util.Map previousContainers
        13: .line 757
            aload 5 /* previousContainers */
            ifnull 15
        14: .line 758
            aload 5 /* previousContainers */
            aload 2 /* containerPath */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.util.Map previousContainers
        end local 4 // java.util.Map projectContainers
        15: .line 762
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.core.IClasspathContainer container
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   16     1             project  Lorg/eclipse/jdt/core/IJavaProject;
            0   16     2       containerPath  Lorg/eclipse/core/runtime/IPath;
            0   16     3           container  Lorg/eclipse/jdt/core/IClasspathContainer;
            5   15     4   projectContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
           13   15     5  previousContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      container      

  public synchronized void containerRemove(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 768
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 2 /* initializations */
        start local 2 // java.util.Map initializations
         1: .line 769
            aload 2 /* initializations */
            ifnull 3
         2: .line 770
            aload 2 /* initializations */
            aload 1 /* project */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 772
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            aload 1 /* project */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 773
            return
        end local 2 // java.util.Map initializations
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    5     1          project  Lorg/eclipse/jdt/core/IJavaProject;
            1    5     2  initializations  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;>;
    MethodParameters:
         Name  Flags
      project  

  public boolean containerPutIfInitializingWithSameEntries(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject[], org.eclipse.jdt.core.IClasspathContainer[]);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IJavaProject;[Lorg/eclipse/jdt/core/IClasspathContainer;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        start local 3 // org.eclipse.jdt.core.IClasspathContainer[] respectiveContainers
         0: .line 776
            aload 2 /* projects */
            arraylength
            istore 4 /* projectLength */
        start local 4 // int projectLength
         1: .line 777
            iload 4 /* projectLength */
            iconst_1
            if_icmpeq 3
         2: .line 778
            iconst_0
            ireturn
         3: .line 779
      StackMap locals: int
      StackMap stack:
            aload 3 /* respectiveContainers */
            iconst_0
            aaload
            astore 5 /* container */
        start local 5 // org.eclipse.jdt.core.IClasspathContainer container
         4: .line 780
            aload 2 /* projects */
            iconst_0
            aaload
            astore 6 /* project */
        start local 6 // org.eclipse.jdt.core.IJavaProject project
         5: .line 782
            aload 0 /* this */
            aload 6 /* project */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerIsInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Z
            ifne 7
         6: .line 783
            iconst_0
            ireturn
         7: .line 784
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 0 /* this */
            aload 6 /* project */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerGetDefaultToPreviousSession:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 7 /* previousContainer */
        start local 7 // org.eclipse.jdt.core.IClasspathContainer previousContainer
         8: .line 785
            aload 5 /* container */
            ifnonnull 13
         9: .line 786
            aload 7 /* previousContainer */
            ifnonnull 12
        10: .line 787
            aload 0 /* this */
            aload 6 /* project */
            aload 1 /* containerPath */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        11: .line 788
            iconst_1
            ireturn
        12: .line 790
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            iconst_0
            ireturn
        13: .line 792
      StackMap locals:
      StackMap stack:
            aload 5 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 8 /* newEntries */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry[] newEntries
        14: .line 793
            aload 7 /* previousContainer */
            ifnonnull 21
        15: .line 794
            aload 8 /* newEntries */
            arraylength
            ifne 18
        16: .line 795
            aload 0 /* this */
            aload 6 /* project */
            aload 1 /* containerPath */
            aload 5 /* container */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        17: .line 796
            iconst_1
            ireturn
        18: .line 798
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 19
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 20
        19: .line 799
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 2 /* projects */
            aload 3 /* respectiveContainers */
            aload 5 /* container */
            aload 8 /* newEntries */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_missbehaving_container:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IJavaProject;[Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/IClasspathContainer;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
        20: .line 800
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        21: .line 802
      StackMap locals:
      StackMap stack:
            aload 7 /* previousContainer */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 9 /* oldEntries */
        start local 9 // org.eclipse.jdt.core.IClasspathEntry[] oldEntries
        22: .line 803
            aload 9 /* oldEntries */
            arraylength
            aload 8 /* newEntries */
            arraylength
            if_icmpeq 26
        23: .line 804
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 24
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 25
        24: .line 805
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 2 /* projects */
            aload 3 /* respectiveContainers */
            aload 5 /* container */
            aload 8 /* newEntries */
            aload 9 /* oldEntries */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_missbehaving_container:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IJavaProject;[Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/IClasspathContainer;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
        25: .line 806
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        26: .line 808
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        27: aload 8 /* newEntries */
            arraylength
            istore 11 /* length */
        start local 11 // int length
        28: goto 38
        29: .line 809
      StackMap locals: int int
      StackMap stack:
            aload 8 /* newEntries */
            iload 10 /* i */
            aaload
            ifnonnull 33
        30: .line 810
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 31
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 32
        31: .line 811
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* project */
            aload 1 /* containerPath */
            aload 8 /* newEntries */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_missbehaving_container:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
        32: .line 812
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        33: .line 814
      StackMap locals:
      StackMap stack:
            aload 8 /* newEntries */
            iload 10 /* i */
            aaload
            aload 9 /* oldEntries */
            iload 10 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 37
        34: .line 815
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 35
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 36
        35: .line 816
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 2 /* projects */
            aload 3 /* respectiveContainers */
            aload 5 /* container */
            aload 8 /* newEntries */
            aload 9 /* oldEntries */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_missbehaving_container:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IJavaProject;[Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/IClasspathContainer;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
        36: .line 817
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        37: .line 808
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 10 /* i */
            iload 11 /* length */
            if_icmplt 29
        end local 11 // int length
        end local 10 // int i
        39: .line 820
            aload 0 /* this */
            aload 6 /* project */
            aload 1 /* containerPath */
            aload 5 /* container */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        40: .line 821
            iconst_1
            ireturn
        end local 9 // org.eclipse.jdt.core.IClasspathEntry[] oldEntries
        end local 8 // org.eclipse.jdt.core.IClasspathEntry[] newEntries
        end local 7 // org.eclipse.jdt.core.IClasspathContainer previousContainer
        end local 6 // org.eclipse.jdt.core.IJavaProject project
        end local 5 // org.eclipse.jdt.core.IClasspathContainer container
        end local 4 // int projectLength
        end local 3 // org.eclipse.jdt.core.IClasspathContainer[] respectiveContainers
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   41     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   41     1         containerPath  Lorg/eclipse/core/runtime/IPath;
            0   41     2              projects  [Lorg/eclipse/jdt/core/IJavaProject;
            0   41     3  respectiveContainers  [Lorg/eclipse/jdt/core/IClasspathContainer;
            1   41     4         projectLength  I
            4   41     5             container  Lorg/eclipse/jdt/core/IClasspathContainer;
            5   41     6               project  Lorg/eclipse/jdt/core/IJavaProject;
            8   41     7     previousContainer  Lorg/eclipse/jdt/core/IClasspathContainer;
           14   41     8            newEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
           22   41     9            oldEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
           27   39    10                     i  I
           28   39    11                length  I
    MethodParameters:
                      Name  Flags
      containerPath         
      projects              
      respectiveContainers  

  private void verbose_missbehaving_container(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject[], org.eclipse.jdt.core.IClasspathContainer[], org.eclipse.jdt.core.IClasspathContainer, org.eclipse.jdt.core.IClasspathEntry[], org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: (Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IJavaProject;[Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/IClasspathContainer;[Lorg/eclipse/jdt/core/IClasspathEntry;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        start local 3 // org.eclipse.jdt.core.IClasspathContainer[] respectiveContainers
        start local 4 // org.eclipse.jdt.core.IClasspathContainer container
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] newEntries
        start local 6 // org.eclipse.jdt.core.IClasspathEntry[] oldEntries
         0: .line 832
            new java.lang.StringBuilder
            dup
            ldc "CPContainer SET  - missbehaving container\n\tcontainer path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 833
            aload 1 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 834
            ldc "\tprojects: {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 836
            aload 2 /* projects */
         4: .line 837
            new org.eclipse.jdt.internal.core.JavaModelManager$4
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$4.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
         5: .line 835
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/util/Util$Displayable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 841
            ldc "}\n\tvalues on previous session: {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 843
            aload 3 /* respectiveContainers */
         8: .line 844
            new org.eclipse.jdt.internal.core.JavaModelManager$5
            dup
            aload 0 /* this */
            aload 4 /* container */
            aload 6 /* oldEntries */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$5.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Lorg/eclipse/jdt/core/IClasspathContainer;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
         9: .line 842
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/util/Util$Displayable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 868
            ldc "}\n\tnew values: {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 870
            aload 3 /* respectiveContainers */
        12: .line 871
            new org.eclipse.jdt.internal.core.JavaModelManager$6
            dup
            aload 0 /* this */
            aload 4 /* container */
            aload 5 /* newEntries */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$6.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Lorg/eclipse/jdt/core/IClasspathContainer;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
        13: .line 869
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/util/Util$Displayable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 890
            ldc "\n\t}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 832
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 831
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        17: .line 891
            return
        end local 6 // org.eclipse.jdt.core.IClasspathEntry[] oldEntries
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] newEntries
        end local 4 // org.eclipse.jdt.core.IClasspathContainer container
        end local 3 // org.eclipse.jdt.core.IClasspathContainer[] respectiveContainers
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   18     1         containerPath  Lorg/eclipse/core/runtime/IPath;
            0   18     2              projects  [Lorg/eclipse/jdt/core/IJavaProject;
            0   18     3  respectiveContainers  [Lorg/eclipse/jdt/core/IClasspathContainer;
            0   18     4             container  Lorg/eclipse/jdt/core/IClasspathContainer;
            0   18     5            newEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            0   18     6            oldEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
                      Name  Flags
      containerPath         
      projects              
      respectiveContainers  
      container             final
      newEntries            final
      oldEntries            final

  void verbose_missbehaving_container(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathEntry[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IClasspathEntry;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] classpathEntries
         0: .line 895
            new java.lang.StringBuilder
            dup
            ldc "CPContainer GET - missbehaving container (returning null classpath entry)\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 896
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 897
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 898
            ldc "\tclasspath entries: {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 900
            aload 3 /* classpathEntries */
         5: .line 901
            new org.eclipse.jdt.internal.core.JavaModelManager$7
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$7.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
         6: .line 899
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.toString:([Ljava/lang/Object;Lorg/eclipse/jdt/internal/compiler/util/Util$Displayable;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 913
            ldc "\n\t}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 895
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 894
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        10: .line 915
            return
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] classpathEntries
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   11     1           project  Lorg/eclipse/jdt/core/IJavaProject;
            0   11     2     containerPath  Lorg/eclipse/core/runtime/IPath;
            0   11     3  classpathEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
                  Name  Flags
      project           
      containerPath     
      classpathEntries  

  void verbose_missbehaving_container_null_entries(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 919
            new java.lang.StringBuilder
            dup
            ldc "CPContainer GET - missbehaving container (returning null as classpath entries)\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 920
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 921
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 922
            ldc "\tclasspath entries: <null>"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 919
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 918
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         6: .line 924
            return
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2  containerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  void containerRemoveInitializationInProgress(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 927
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* initializations */
        start local 3 // java.util.Map initializations
         1: .line 928
            aload 3 /* initializations */
            ifnonnull 3
         2: .line 929
            return
         3: .line 930
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* initializations */
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 4 /* projectInitializations */
        start local 4 // java.util.Set projectInitializations
         4: .line 931
            aload 4 /* projectInitializations */
            ifnonnull 6
         5: .line 932
            return
         6: .line 933
      StackMap locals: java.util.Set
      StackMap stack:
            aload 4 /* projectInitializations */
            aload 2 /* containerPath */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         7: .line 934
            aload 4 /* projectInitializations */
            invokeinterface java.util.Set.size:()I
            ifne 9
         8: .line 935
            aload 3 /* initializations */
            aload 1 /* project */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 936
      StackMap locals:
      StackMap stack:
            aload 3 /* initializations */
            invokeinterface java.util.Map.size:()I
            ifne 11
        10: .line 937
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        11: .line 938
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.util.Set projectInitializations
        end local 3 // java.util.Map initializations
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   12     0                    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   12     1                 project  Lorg/eclipse/jdt/core/IJavaProject;
            0   12     2           containerPath  Lorg/eclipse/core/runtime/IPath;
            1   12     3         initializations  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;>;
            4   12     4  projectInitializations  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  private synchronized void containersReset(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String[] containerIDs
         0: .line 941
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 15
         2: .line 942
      StackMap locals: int
      StackMap stack:
            aload 1 /* containerIDs */
            iload 2 /* i */
            aaload
            astore 3 /* containerID */
        start local 3 // java.lang.String containerID
         3: .line 943
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4 /* projectIterator */
        start local 4 // java.util.Iterator projectIterator
         4: .line 944
            goto 13
         5: .line 945
      StackMap locals: java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* projectIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* projectContainers */
        start local 5 // java.util.Map projectContainers
         6: .line 946
            aload 5 /* projectContainers */
            ifnull 13
         7: .line 947
            aload 5 /* projectContainers */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* containerIterator */
        start local 6 // java.util.Iterator containerIterator
         8: .line 948
            goto 12
         9: .line 949
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 6 /* containerIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 7 /* containerPath */
        start local 7 // org.eclipse.core.runtime.IPath containerPath
        10: .line 950
            aload 3 /* containerID */
            aload 7 /* containerPath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 951
            aload 5 /* projectContainers */
            aload 7 /* containerPath */
            aconst_null
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.eclipse.core.runtime.IPath containerPath
        12: .line 948
      StackMap locals:
      StackMap stack:
            aload 6 /* containerIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        end local 6 // java.util.Iterator containerIterator
        end local 5 // java.util.Map projectContainers
        13: .line 944
      StackMap locals:
      StackMap stack:
            aload 4 /* projectIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 4 // java.util.Iterator projectIterator
        end local 3 // java.lang.String containerID
        14: .line 941
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 2 /* i */
            aload 1 /* containerIDs */
            arraylength
            if_icmplt 2
        end local 2 // int i
        16: .line 957
            return
        end local 1 // java.lang.String[] containerIDs
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   17     1       containerIDs  [Ljava/lang/String;
            1   16     2                  i  I
            3   14     3        containerID  Ljava/lang/String;
            4   14     4    projectIterator  Ljava/util/Iterator<Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;>;
            6   13     5  projectContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
            8   13     6  containerIterator  Ljava/util/Iterator<Lorg/eclipse/core/runtime/IPath;>;
           10   12     7      containerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
              Name  Flags
      containerIDs  

  public static org.eclipse.jdt.core.IJavaElement create(org.eclipse.core.resources.IResource, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.core.resources.IResource resource
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 978
            aload 0 /* resource */
            ifnonnull 2
         1: .line 979
            aconst_null
            areturn
         2: .line 981
      StackMap locals:
      StackMap stack:
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            istore 2 /* type */
        start local 2 // int type
         3: .line 982
            iload 2 /* type */
            tableswitch { // 1 - 8
                    1: 5
                    2: 6
                    3: 8
                    4: 4
                    5: 8
                    6: 8
                    7: 8
                    8: 7
              default: 8
          }
         4: .line 984
      StackMap locals: int
      StackMap stack:
            aload 0 /* resource */
            checkcast org.eclipse.core.resources.IProject
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            areturn
         5: .line 986
      StackMap locals:
      StackMap stack:
            aload 0 /* resource */
            checkcast org.eclipse.core.resources.IFile
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.create:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
         6: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* resource */
            checkcast org.eclipse.core.resources.IFolder
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.create:(Lorg/eclipse/core/resources/IFolder;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
         7: .line 990
      StackMap locals:
      StackMap stack:
            aload 0 /* resource */
            checkcast org.eclipse.core.resources.IWorkspaceRoot
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IWorkspaceRoot;)Lorg/eclipse/jdt/core/IJavaModel;
            areturn
         8: .line 992
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int type
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  resource  Lorg/eclipse/core/resources/IResource;
            0    9     1   project  Lorg/eclipse/jdt/core/IJavaProject;
            3    9     2      type  I
    MethodParameters:
          Name  Flags
      resource  
      project   

  public static org.eclipse.jdt.core.IJavaElement create(org.eclipse.core.resources.IFile, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.core.resources.IFile file
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1012
            aload 0 /* file */
            ifnonnull 2
         1: .line 1013
            aconst_null
            areturn
         2: .line 1015
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            ifnonnull 4
         3: .line 1016
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 1 /* project */
         4: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getFileExtension:()Ljava/lang/String;
            ifnull 11
         5: .line 1020
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         6: .line 1021
            aload 2 /* name */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            ifeq 8
         7: .line 1022
            aload 0 /* file */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.createCompilationUnitFrom:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/ICompilationUnit;
            areturn
         8: .line 1023
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* name */
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.isClassFileName:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 1024
            aload 0 /* file */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.createClassFileFrom:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClassFile;
            areturn
        10: .line 1025
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.createJarPackageFragmentRootFrom:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            areturn
        end local 2 // java.lang.String name
        11: .line 1027
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     file  Lorg/eclipse/core/resources/IFile;
            0   12     1  project  Lorg/eclipse/jdt/core/IJavaProject;
            6   11     2     name  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      file     
      project  

  public static org.eclipse.jdt.core.IJavaElement create(org.eclipse.core.resources.IFolder, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IFolder;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.core.resources.IFolder folder
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1041
            aload 0 /* folder */
            ifnonnull 2
         1: .line 1042
            aconst_null
            areturn
         2: .line 1045
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            ifnonnull 20
         3: .line 1046
            aload 0 /* folder */
            invokeinterface org.eclipse.core.resources.IFolder.getProject:()Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 1 /* project */
         4: .line 1047
            aload 0 /* folder */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* element */
        start local 2 // org.eclipse.jdt.core.IJavaElement element
         5: .line 1048
            aload 2 /* element */
            ifnonnull 21
         6: .line 1052
            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
         7: .line 1053
            goto 10
        end local 3 // org.eclipse.jdt.core.IJavaProject[] projects
      StackMap locals: org.eclipse.core.resources.IFolder org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IJavaElement
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         8: pop
         9: .line 1054
            aconst_null
            areturn
        start local 3 // org.eclipse.jdt.core.IJavaProject[] projects
        10: .line 1056
      StackMap locals: org.eclipse.jdt.core.IJavaProject[]
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: aload 3 /* projects */
            arraylength
            istore 5 /* length */
        start local 5 // int length
        12: goto 18
        13: .line 1057
      StackMap locals: int int
      StackMap stack:
            aload 3 /* projects */
            iload 4 /* i */
            aaload
            astore 1 /* project */
        14: .line 1058
            aload 0 /* folder */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* element */
        15: .line 1059
            aload 2 /* element */
            ifnull 17
        16: .line 1060
            goto 21
        17: .line 1056
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 13
        end local 5 // int length
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IJavaProject[] projects
        19: .line 1063
            goto 21
        end local 2 // org.eclipse.jdt.core.IJavaElement element
        20: .line 1064
      StackMap locals: org.eclipse.core.resources.IFolder org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 0 /* folder */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* element */
        start local 2 // org.eclipse.jdt.core.IJavaElement element
        21: .line 1066
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 2 /* element */
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaElement element
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IFolder folder
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0    folder  Lorg/eclipse/core/resources/IFolder;
            0   22     1   project  Lorg/eclipse/jdt/core/IJavaProject;
            5   20     2   element  Lorg/eclipse/jdt/core/IJavaElement;
           21   22     2   element  Lorg/eclipse/jdt/core/IJavaElement;
            7    8     3  projects  [Lorg/eclipse/jdt/core/IJavaProject;
           10   19     3  projects  [Lorg/eclipse/jdt/core/IJavaProject;
           11   19     4         i  I
           12   19     5    length  I
      Exception table:
        from    to  target  type
           6     7       8  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      folder   
      project  

  public static org.eclipse.jdt.core.IClassFile createClassFileFrom(org.eclipse.core.resources.IFile, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClassFile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.core.resources.IFile file
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1075
            aload 0 /* file */
            ifnonnull 2
         1: .line 1076
            aconst_null
            areturn
         2: .line 1078
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            ifnonnull 4
         3: .line 1079
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 1 /* project */
         4: .line 1081
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragment
            astore 2 /* pkg */
        start local 2 // org.eclipse.jdt.core.IPackageFragment pkg
         5: .line 1082
            aload 2 /* pkg */
            ifnonnull 8
         6: .line 1085
            aload 1 /* project */
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getParent:()Lorg/eclipse/core/resources/IContainer;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 3 /* root */
        start local 3 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         7: .line 1086
            aload 3 /* root */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
            astore 2 /* pkg */
        end local 3 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         8: .line 1088
      StackMap locals: org.eclipse.jdt.core.IPackageFragment
      StackMap stack:
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getName:()Ljava/lang/String;
            astore 3 /* fileName */
        start local 3 // java.lang.String fileName
         9: .line 1089
            ldc "module-info.class"
            aload 3 /* fileName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 1090
            aload 2 /* pkg */
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getModularClassFile:()Lorg/eclipse/jdt/core/IModularClassFile;
            areturn
        11: .line 1091
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* pkg */
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getName:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getClassFile:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IClassFile;
            areturn
        end local 3 // java.lang.String fileName
        end local 2 // org.eclipse.jdt.core.IPackageFragment pkg
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      file  Lorg/eclipse/core/resources/IFile;
            0   12     1   project  Lorg/eclipse/jdt/core/IJavaProject;
            5   12     2       pkg  Lorg/eclipse/jdt/core/IPackageFragment;
            7    8     3      root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
            9   12     3  fileName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      file     
      project  

  public static org.eclipse.jdt.core.ICompilationUnit createCompilationUnitFrom(org.eclipse.core.resources.IFile, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.core.resources.IFile file
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1101
            aload 0 /* file */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 1103
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            ifnonnull 3
         2: .line 1104
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 1 /* project */
         3: .line 1106
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.determineIfOnClasspath:(Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragment
            astore 2 /* pkg */
        start local 2 // org.eclipse.jdt.core.IPackageFragment pkg
         4: .line 1107
            aload 2 /* pkg */
            ifnonnull 9
         5: .line 1109
            aload 1 /* project */
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getParent:()Lorg/eclipse/core/resources/IContainer;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 3 /* root */
        start local 3 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         6: .line 1110
            aload 3 /* root */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
            astore 2 /* pkg */
         7: .line 1112
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 9
         8: .line 1113
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARNING : creating unit element outside classpath ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "): "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 3 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         9: .line 1116
      StackMap locals: org.eclipse.jdt.core.IPackageFragment
      StackMap stack:
            aload 2 /* pkg */
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getName:()Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getCompilationUnit:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ICompilationUnit;
            areturn
        end local 2 // org.eclipse.jdt.core.IPackageFragment pkg
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     file  Lorg/eclipse/core/resources/IFile;
            0   10     1  project  Lorg/eclipse/jdt/core/IJavaProject;
            4   10     2      pkg  Lorg/eclipse/jdt/core/IPackageFragment;
            6    9     3     root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
    MethodParameters:
         Name  Flags
      file     
      project  

  public static org.eclipse.jdt.core.IPackageFragmentRoot createJarPackageFragmentRootFrom(org.eclipse.core.resources.IFile, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.core.resources.IFile file
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1127
            aload 0 /* file */
            ifnonnull 2
         1: .line 1128
            aconst_null
            areturn
         2: .line 1130
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            ifnonnull 4
         3: .line 1131
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 1 /* project */
         4: .line 1135
      StackMap locals:
      StackMap stack:
            aload 0 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* resourcePath */
        start local 2 // org.eclipse.core.runtime.IPath resourcePath
         5: .line 1137
            aload 1 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            aload 2 /* resourcePath */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getClasspathEntryFor:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         6: .line 1138
            aload 3 /* entry */
            ifnull 10
         7: .line 1139
            aload 1 /* project */
            aload 0 /* file */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
         8: areturn
        end local 3 // org.eclipse.jdt.core.IClasspathEntry entry
         9: .line 1141
      StackMap locals: org.eclipse.core.resources.IFile org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        10: .line 1144
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.core.runtime.IPath resourcePath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IFile file
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   11     0          file  Lorg/eclipse/core/resources/IFile;
            0   11     1       project  Lorg/eclipse/jdt/core/IJavaProject;
            5   11     2  resourcePath  Lorg/eclipse/core/runtime/IPath;
            6    9     3         entry  Lorg/eclipse/jdt/core/IClasspathEntry;
      Exception table:
        from    to  target  type
           5     8       9  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      file     
      project  

  public static org.eclipse.jdt.core.IJavaElement determineIfOnClasspath(org.eclipse.core.resources.IResource, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/resources/IResource;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=18, args_size=2
        start local 0 // org.eclipse.core.resources.IResource resource
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1153
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* resourcePath */
        start local 2 // org.eclipse.core.runtime.IPath resourcePath
         1: .line 1154
            aload 2 /* resourcePath */
            invokestatic org.eclipse.jdt.internal.core.ExternalFoldersManager.isInternalPathForExternalFolder:(Lorg/eclipse/core/runtime/IPath;)Z
            istore 3 /* isExternal */
        start local 3 // boolean isExternal
         2: .line 1155
            iload 3 /* isExternal */
            ifeq 4
         3: .line 1156
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getLocation:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* resourcePath */
         4: .line 1159
      StackMap locals: org.eclipse.core.runtime.IPath int
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaProjectElementInfo
            astore 4 /* projectInfo */
        start local 4 // org.eclipse.jdt.internal.core.JavaProjectElementInfo projectInfo
         5: .line 1160
            aload 4 /* projectInfo */
            ifnonnull 6
            aconst_null
            goto 7
      StackMap locals: org.eclipse.jdt.internal.core.JavaProjectElementInfo
      StackMap stack:
         6: aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaProjectElementInfo.projectCache:Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo$ProjectCache;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache
         7: astore 5 /* projectCache */
        start local 5 // org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache projectCache
         8: .line 1161
            aload 5 /* projectCache */
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals: org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache
      StackMap stack:
         9: aload 5 /* projectCache */
            getfield org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache.allPkgFragmentsCache:Lorg/eclipse/jdt/internal/core/util/HashtableOfArrayToObject;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject
        10: astore 6 /* allPkgFragmentsCache */
        start local 6 // org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject allPkgFragmentsCache
        11: .line 1162
            aload 2 /* resourcePath */
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            istore 7 /* isJavaLike */
        start local 7 // boolean isJavaLike
        12: .line 1163
            iload 7 /* isJavaLike */
            ifeq 13
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            goto 14
        13: .line 1164
      StackMap locals: org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject int
      StackMap stack:
            aload 1 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
        14: .line 1163
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IClasspathEntry[]
            astore 8 /* entries */
        start local 8 // org.eclipse.jdt.core.IClasspathEntry[] entries
        15: .line 1166
            aload 8 /* entries */
            arraylength
            istore 9 /* length */
        start local 9 // int length
        16: .line 1167
            iload 9 /* length */
            ifle 53
        17: .line 1168
            aload 1 /* project */
            ldc "org.eclipse.jdt.core.compiler.source"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 10 /* sourceLevel */
        start local 10 // java.lang.String sourceLevel
        18: .line 1169
            aload 1 /* project */
            ldc "org.eclipse.jdt.core.compiler.compliance"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 11 /* complianceLevel */
        start local 11 // java.lang.String complianceLevel
        19: .line 1170
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        20: goto 49
        21: .line 1171
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath int org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject int org.eclipse.jdt.core.IClasspathEntry[] int java.lang.String java.lang.String int
      StackMap stack:
            aload 8 /* entries */
            iload 12 /* i */
            aaload
            astore 13 /* entry */
        start local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        22: .line 1172
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 23
            goto 48
        23: .line 1173
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 14 /* rootPath */
        start local 14 // org.eclipse.core.runtime.IPath rootPath
        24: .line 1174
            aload 14 /* rootPath */
            aload 2 /* resourcePath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 29
        25: .line 1175
            iload 7 /* isJavaLike */
            ifeq 27
        26: .line 1176
            aconst_null
            areturn
        27: .line 1177
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 1 /* project */
            aload 0 /* resource */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
        28: areturn
        29: .line 1178
      StackMap locals:
      StackMap stack:
            aload 14 /* rootPath */
            aload 2 /* resourcePath */
            invokeinterface org.eclipse.core.runtime.IPath.isPrefixOf:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 48
        30: .line 1180
            aload 0 /* resource */
            aload 13 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.fullInclusionPatternChars:()[[C
            aload 13 /* entry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.fullExclusionPatternChars:()[[C
            invokestatic org.eclipse.jdt.internal.core.util.Util.isExcluded:(Lorg/eclipse/core/resources/IResource;[[C[[C)Z
            ifne 48
        31: .line 1183
            iload 3 /* isExternal */
            ifeq 33
        32: .line 1184
            new org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot
            dup
            aload 14 /* rootPath */
            aload 1 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            invokespecial org.eclipse.jdt.internal.core.ExternalPackageFragmentRoot.<init>:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaProject;)V
            goto 34
        33: .line 1185
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            aload 14 /* rootPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getFolderPackageFragmentRoot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            checkcast org.eclipse.jdt.internal.core.PackageFragmentRoot
        34: .line 1182
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.PackageFragmentRoot
            astore 15 /* root */
        start local 15 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        35: .line 1186
            aload 15 /* root */
            ifnonnull 37
        36: aconst_null
            areturn
        37: .line 1187
      StackMap locals: org.eclipse.jdt.internal.core.PackageFragmentRoot
      StackMap stack:
            aload 2 /* resourcePath */
            aload 14 /* rootPath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 16 /* pkgPath */
        start local 16 // org.eclipse.core.runtime.IPath pkgPath
        38: .line 1189
            aload 0 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_1
            if_icmpne 40
        39: .line 1192
            aload 16 /* pkgPath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeLastSegments:(I)Lorg/eclipse/core/runtime/IPath;
            astore 16 /* pkgPath */
        40: .line 1194
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 16 /* pkgPath */
            invokeinterface org.eclipse.core.runtime.IPath.segments:()[Ljava/lang/String;
            astore 17 /* pkgName */
        start local 17 // java.lang.String[] pkgName
        41: .line 1198
            aload 6 /* allPkgFragmentsCache */
            ifnull 44
            aload 6 /* allPkgFragmentsCache */
            aload 17 /* pkgName */
            invokevirtual org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject.containsKey:([Ljava/lang/Object;)Z
            ifeq 44
        42: .line 1199
            aload 15 /* root */
            aload 17 /* pkgName */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
        43: areturn
        44: .line 1201
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 17 /* pkgName */
            arraylength
            ifeq 46
            aload 16 /* pkgPath */
            aload 10 /* sourceLevel */
            aload 11 /* complianceLevel */
            invokestatic org.eclipse.jdt.internal.core.util.Util.packageName:(Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            aload 10 /* sourceLevel */
            aload 11 /* complianceLevel */
            invokestatic org.eclipse.jdt.core.JavaConventions.validatePackageName:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IStatus;
            invokeinterface org.eclipse.core.runtime.IStatus.getSeverity:()I
            iconst_4
            if_icmpne 46
        45: .line 1202
            aconst_null
            areturn
        46: .line 1204
      StackMap locals:
      StackMap stack:
            aload 15 /* root */
            aload 17 /* pkgName */
            invokevirtual org.eclipse.jdt.internal.core.PackageFragmentRoot.getPackageFragment:([Ljava/lang/String;)Lorg/eclipse/jdt/internal/core/PackageFragment;
        47: areturn
        end local 17 // java.lang.String[] pkgName
        end local 16 // org.eclipse.core.runtime.IPath pkgPath
        end local 15 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        end local 14 // org.eclipse.core.runtime.IPath rootPath
        end local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        48: .line 1170
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath int org.eclipse.jdt.internal.core.JavaProjectElementInfo org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject int org.eclipse.jdt.core.IClasspathEntry[] int java.lang.String java.lang.String int
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 12 /* i */
            iload 9 /* length */
            if_icmplt 21
        end local 12 // int i
        end local 11 // java.lang.String complianceLevel
        end local 10 // java.lang.String sourceLevel
        end local 9 // int length
        end local 8 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 7 // boolean isJavaLike
        end local 6 // org.eclipse.jdt.internal.core.util.HashtableOfArrayToObject allPkgFragmentsCache
        end local 5 // org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache projectCache
        end local 4 // org.eclipse.jdt.internal.core.JavaProjectElementInfo projectInfo
        50: .line 1209
            goto 53
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        51: pop
        52: .line 1210
            aconst_null
            areturn
        53: .line 1212
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // boolean isExternal
        end local 2 // org.eclipse.core.runtime.IPath resourcePath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.core.resources.IResource resource
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   54     0              resource  Lorg/eclipse/core/resources/IResource;
            0   54     1               project  Lorg/eclipse/jdt/core/IJavaProject;
            1   54     2          resourcePath  Lorg/eclipse/core/runtime/IPath;
            2   54     3            isExternal  Z
            5   50     4           projectInfo  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo;
            8   50     5          projectCache  Lorg/eclipse/jdt/internal/core/JavaProjectElementInfo$ProjectCache;
           11   50     6  allPkgFragmentsCache  Lorg/eclipse/jdt/internal/core/util/HashtableOfArrayToObject;
           12   50     7            isJavaLike  Z
           15   50     8               entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
           16   50     9                length  I
           18   50    10           sourceLevel  Ljava/lang/String;
           19   50    11       complianceLevel  Ljava/lang/String;
           20   50    12                     i  I
           22   48    13                 entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           24   48    14              rootPath  Lorg/eclipse/core/runtime/IPath;
           35   48    15                  root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
           38   48    16               pkgPath  Lorg/eclipse/core/runtime/IPath;
           41   48    17               pkgName  [Ljava/lang/String;
      Exception table:
        from    to  target  type
           4    26      51  Class org.eclipse.jdt.core.JavaModelException
          27    28      51  Class org.eclipse.jdt.core.JavaModelException
          29    36      51  Class org.eclipse.jdt.core.JavaModelException
          37    43      51  Class org.eclipse.jdt.core.JavaModelException
          44    45      51  Class org.eclipse.jdt.core.JavaModelException
          46    47      51  Class org.eclipse.jdt.core.JavaModelException
          48    50      51  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      resource  
      project   

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 1781
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 245
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModel
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModel.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.javaModel:Lorg/eclipse/jdt/internal/core/JavaModel;
         2: .line 250
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
         3: .line 251
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.variablesWithInitializer:Ljava/util/HashSet;
         4: .line 252
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedVariables:Ljava/util/HashMap;
         5: .line 253
            aload 0 /* this */
            new java.util.HashSet
            dup
            iconst_5
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.readOnlyVariables:Ljava/util/HashSet;
         6: .line 254
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionVariables:Ljava/util/HashMap;
         7: .line 255
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.variableInitializationInProgress:Ljava/lang/ThreadLocal;
         8: .line 260
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.containers:Ljava/util/HashMap;
         9: .line 261
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionContainers:Ljava/util/HashMap;
        10: .line 262
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
        11: .line 263
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.containersBeingInitialized:Ljava/lang/ThreadLocal;
        12: .line 269
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
        13: .line 270
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializationsLock:Ljava/lang/Object;
        14: .line 272
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.BatchInitializationMonitor
            dup
            invokespecial org.eclipse.jdt.internal.core.BatchInitializationMonitor.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializationsProgress:Lorg/eclipse/jdt/internal/core/BatchInitializationMonitor;
        15: .line 273
            aload 0 /* this */
            new java.util.Hashtable
            dup
            iconst_5
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializersCache:Ljava/util/Hashtable;
        16: .line 278
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.classpathsBeingResolved:Ljava/lang/ThreadLocal;
        17: .line 289
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.util.WeakHashSet
            dup
            iconst_5
            invokespecial org.eclipse.jdt.internal.core.util.WeakHashSet.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.stringSymbols:Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
        18: .line 290
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.util.WeakHashSetOfCharArray
            dup
            iconst_5
            invokespecial org.eclipse.jdt.internal.core.util.WeakHashSetOfCharArray.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.charArraySymbols:Lorg/eclipse/jdt/internal/core/util/WeakHashSetOfCharArray;
        19: .line 295
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager.annotationProcessorManagerFactory:Lorg/eclipse/core/runtime/IConfigurationElement;
        20: .line 300
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.rootPathToAttachments:Ljava/util/Map;
        21: .line 414
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.JavaModelManager.resolveReferencedLibrariesForContainers:Z
        22: .line 422
            aload 0 /* this */
            new java.util.HashSet
            dup
            bipush 20
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.optionNames:Ljava/util/HashSet;
        23: .line 423
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
        24: .line 427
            aload 0 /* this */
            iconst_2
            anewarray org.eclipse.core.runtime.preferences.IEclipsePreferences
            putfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
        25: .line 602
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.compilationParticipants:Lorg/eclipse/jdt/internal/core/JavaModelManager$CompilationParticipants;
        26: .line 605
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.abortOnMissingSource:Ljava/lang/ThreadLocal;
        27: .line 607
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.ExternalFoldersManager.getExternalFoldersManager:()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            putfield org.eclipse.jdt.internal.core.JavaModelManager.externalFoldersManager:Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
        28: .line 1228
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
        29: .line 1233
            aload 0 /* this */
            new java.util.HashSet
            dup
            bipush 11
            invokespecial java.util.HashSet.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.elementsOutOfSynchWithBuffers:Ljava/util/HashSet;
        30: .line 1238
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.DeltaProcessingState
            dup
            invokespecial org.eclipse.jdt.internal.core.DeltaProcessingState.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
        31: .line 1240
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
        32: .line 1246
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
        33: .line 1252
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_5
            invokespecial java.util.HashMap.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
        34: .line 1257
            aload 0 /* this */
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.searchScopes:Ljava/util/WeakHashMap;
        35: .line 1606
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
        36: .line 1640
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchives:Ljava/util/Map;
        37: .line 1641
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchivesMutex:Ljava/lang/Object;
        38: .line 1743
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.instancePreferencesListener:Lorg/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener;
        39: .line 1747
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$2
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$2.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.instanceNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
        40: .line 1760
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$3
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$3.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.defaultNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
        41: .line 1788
            invokestatic org.eclipse.core.runtime.Platform.isRunning:()Z
            ifeq 48
        42: .line 1789
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.indexing.IndexManager
            dup
            invokespecial org.eclipse.jdt.internal.core.search.indexing.IndexManager.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
        43: .line 1790
            aload 0 /* this */
            aload 0 /* this */
            ldc "nonChainingJarsCache"
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.loadClasspathListCache:(Ljava/lang/String;)Ljava/util/Set;
            putfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
        44: .line 1791
            aload 0 /* this */
            aload 0 /* this */
            ldc "externalFilesCache"
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.loadClasspathListCache:(Ljava/lang/String;)Ljava/util/Set;
            putfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
        45: .line 1792
            aload 0 /* this */
            aload 0 /* this */
            ldc "assumedExternalFilesCache"
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.loadClasspathListCache:(Ljava/lang/String;)Ljava/util/Set;
            putfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
        46: .line 1793
            ldc "resolveReferencedLibrariesForContainers"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* includeContainerReferencedLib */
        start local 1 // java.lang.String includeContainerReferencedLib
        47: .line 1794
            aload 0 /* this */
            ldc "true"
            aload 1 /* includeContainerReferencedLib */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putfield org.eclipse.jdt.internal.core.JavaModelManager.resolveReferencedLibrariesForContainers:Z
        end local 1 // java.lang.String includeContainerReferencedLib
        48: .line 1796
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   49     0                           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
           47   48     1  includeContainerReferencedLib  Ljava/lang/String;

  private void addDeprecatedOptions(java.util.Hashtable<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Hashtable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.util.Hashtable options
         0: .line 1802
            aload 1 /* options */
            ldc "org.eclipse.jdt.core.compiler.problem.invalidImport"
            ldc "error"
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1803
            aload 1 /* options */
            ldc "org.eclipse.jdt.core.compiler.problem.unreachableCode"
            ldc "error"
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1804
            return
        end local 1 // java.util.Hashtable options
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1  options  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      options  

  public void addNonChainingJar(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1807
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            ifnull 2
         1: .line 1808
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1809
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public void addInvalidArchive(org.eclipse.core.runtime.IPath, org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
         0: .line 1812
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_INVALID_ARCHIVES:Z
            ifeq 2
         1: .line 1813
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Invalid JAR cache: adding "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", reason: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* reason */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 1815
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchivesMutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 1816
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchives:Ljava/util/Map;
            aload 1 /* path */
            new org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.INVALID_ARCHIVE_TTL_MILLISECONDS:J
            ladd
            aload 2 /* reason */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo.<init>:(JLorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;)V
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1815
            aload 3
            monitorexit
         5: goto 8
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 1818
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    9     1    path  Lorg/eclipse/core/runtime/IPath;
            0    9     2  reason  Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
      Exception table:
        from    to  target  type
           3     5       6  any
           6     7       6  any
    MethodParameters:
        Name  Flags
      path    
      reason  

  public void addExternalFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 1826
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            ifnonnull 2
         1: .line 1827
            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.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
         2: .line 1829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            ifnull 4
         3: .line 1830
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1832
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    5     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public void cacheZipFiles(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.Object owner
         0: .line 1839
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
            astore 2 /* zipCache */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ZipCache zipCache
         1: .line 1840
            aload 2 /* zipCache */
            ifnull 3
         2: .line 1841
            return
         3: .line 1844
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
            new org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
            dup
            aload 1 /* owner */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$ZipCache.<init>:(Ljava/lang/Object;)V
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 1845
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ZipCache zipCache
        end local 1 // java.lang.Object owner
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    5     1     owner  Ljava/lang/Object;
            1    5     2  zipCache  Lorg/eclipse/jdt/internal/core/JavaModelManager$ZipCache;
    MethodParameters:
       Name  Flags
      owner  

  public void closeZipFile(java.util.zip.ZipFile);
    descriptor: (Ljava/util/zip/ZipFile;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.util.zip.ZipFile zipFile
         0: .line 1848
            aload 1 /* zipFile */
            ifnonnull 1
            return
         1: .line 1849
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            ifnull 5
         2: .line 1850
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
            ifeq 4
         3: .line 1851
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") [JavaModelManager.closeZipFile(ZipFile)] NOT closed ZipFile (cache exist!) on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* zipFile */
            invokevirtual java.util.zip.ZipFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 1853
      StackMap locals:
      StackMap stack:
            return
         5: .line 1856
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
            ifeq 7
         6: .line 1857
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") [JavaModelManager.closeZipFile(ZipFile)] Closing ZipFile on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* zipFile */
            invokevirtual java.util.zip.ZipFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 1859
      StackMap locals:
      StackMap stack:
            aload 1 /* zipFile */
            invokevirtual java.util.zip.ZipFile.close:()V
         8: .line 1860
            goto 11
      StackMap locals:
      StackMap stack: java.io.IOException
         9: astore 2 /* e */
        start local 2 // java.io.IOException e
        10: .line 1862
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            invokevirtual org.eclipse.core.runtime.Plugin.getLog:()Lorg/eclipse/core/runtime/ILog;
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            new java.lang.StringBuilder
            dup
            ldc "Error closing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* zipFile */
            invokevirtual java.util.zip.ZipFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
            invokeinterface org.eclipse.core.runtime.ILog.log:(Lorg/eclipse/core/runtime/IStatus;)V
        end local 2 // java.io.IOException e
        11: .line 1864
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.zip.ZipFile zipFile
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   12     1  zipFile  Ljava/util/zip/ZipFile;
           10   11     2        e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5     8       9  Class java.io.IOException
    MethodParameters:
         Name  Flags
      zipFile  

  public static void registerDebugOptionsListener(org.osgi.framework.BundleContext);
    descriptor: (Lorg/osgi/framework/BundleContext;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.osgi.framework.BundleContext context
         0: .line 1868
            new java.util.Hashtable
            dup
            iconst_2
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 1 /* properties */
        start local 1 // java.util.Hashtable properties
         1: .line 1869
            aload 1 /* properties */
            ldc "listener.symbolic.name"
            ldc "org.eclipse.jdt.core"
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1870
            aload 0 /* context */
            ldc Lorg/eclipse/osgi/service/debug/DebugOptionsListener;
            new org.eclipse.jdt.internal.core.JavaModelManager$8
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$8.<init>:()V
         3: .line 1924
            aload 1 /* properties */
         4: .line 1870
            invokeinterface org.osgi.framework.BundleContext.registerService:(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_REGISTRATION:Lorg/osgi/framework/ServiceRegistration;
         5: .line 1925
            return
        end local 1 // java.util.Hashtable properties
        end local 0 // org.osgi.framework.BundleContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0     context  Lorg/osgi/framework/BundleContext;
            1    6     1  properties  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
         Name  Flags
      context  

  public static void unregisterDebugOptionsListener();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1929
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_REGISTRATION:Lorg/osgi/framework/ServiceRegistration;
            invokeinterface org.osgi.framework.ServiceRegistration.unregister:()V
         1: .line 1930
            aconst_null
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_REGISTRATION:Lorg/osgi/framework/ServiceRegistration;
         2: .line 1931
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.eclipse.jdt.internal.compiler.AbstractAnnotationProcessorManager createAnnotationProcessorManager();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/AbstractAnnotationProcessorManager;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 1939
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 1940
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.annotationProcessorManagerFactory:Lorg/eclipse/core/runtime/IConfigurationElement;
            ifnonnull 23
         2: .line 1941
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.core"
            ldc "annotationProcessorManager"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 2 /* extension */
        start local 2 // org.eclipse.core.runtime.IExtensionPoint extension
         3: .line 1942
            aload 2 /* extension */
            ifnonnull 6
         4: .line 1943
            aload 1
            monitorexit
         5: aconst_null
            areturn
         6: .line 1944
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IExtensionPoint
      StackMap stack:
            aload 2 /* extension */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getExtensions:()[Lorg/eclipse/core/runtime/IExtension;
            astore 3 /* extensions */
        start local 3 // org.eclipse.core.runtime.IExtension[] extensions
         7: .line 1945
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 22
         9: .line 1946
      StackMap locals: org.eclipse.core.runtime.IExtension[] int
      StackMap stack:
            iload 4 /* i */
            ifle 12
        10: .line 1947
            aconst_null
            new java.lang.StringBuilder
            dup
            ldc "An annotation processor manager is already registered: ignoring "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* extensions */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IExtension.getUniqueIdentifier:()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.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        11: .line 1948
            goto 23
        12: .line 1950
      StackMap locals:
      StackMap stack:
            aload 3 /* extensions */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IExtension.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 5 /* configElements */
        start local 5 // org.eclipse.core.runtime.IConfigurationElement[] configElements
        13: .line 1951
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        14: goto 20
        15: .line 1952
      StackMap locals: org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            aload 5 /* configElements */
            iload 6 /* j */
            aaload
            astore 7 /* configElement */
        start local 7 // org.eclipse.core.runtime.IConfigurationElement configElement
        16: .line 1953
            ldc "annotationProcessorManager"
            aload 7 /* configElement */
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 1954
            aload 0 /* this */
            aload 7 /* configElement */
            putfield org.eclipse.jdt.internal.core.JavaModelManager.annotationProcessorManagerFactory:Lorg/eclipse/core/runtime/IConfigurationElement;
        18: .line 1955
            goto 21
        end local 7 // org.eclipse.core.runtime.IConfigurationElement configElement
        19: .line 1951
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        20: iload 6 /* j */
            aload 5 /* configElements */
            arraylength
            if_icmplt 15
        end local 6 // int j
        end local 5 // org.eclipse.core.runtime.IConfigurationElement[] configElements
        21: .line 1945
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 4 /* i */
            aload 3 /* extensions */
            arraylength
            if_icmplt 9
        end local 4 // int i
        end local 3 // org.eclipse.core.runtime.IExtension[] extensions
        end local 2 // org.eclipse.core.runtime.IExtensionPoint extension
        23: .line 1939
      StackMap locals:
      StackMap stack:
            aload 1
            monitorexit
        24: goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        25: aload 1
            monitorexit
        26: athrow
        27: .line 1962
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.annotationProcessorManagerFactory:Lorg/eclipse/core/runtime/IConfigurationElement;
            ifnonnull 29
        28: .line 1963
            aconst_null
            areturn
        29: .line 1965
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.AbstractAnnotationProcessorManager
            astore 1 /* apm */
        start local 1 // org.eclipse.jdt.internal.compiler.AbstractAnnotationProcessorManager[] apm
        30: .line 1966
            aload 1 /* apm */
            iconst_0
            aconst_null
            aastore
        31: .line 1967
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.annotationProcessorManagerFactory:Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 2 /* factory */
        start local 2 // org.eclipse.core.runtime.IConfigurationElement factory
        32: .line 1968
            new org.eclipse.jdt.internal.core.JavaModelManager$9
            dup
            aload 0 /* this */
            aload 2 /* factory */
            aload 1 /* apm */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$9.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Lorg/eclipse/core/runtime/IConfigurationElement;[Lorg/eclipse/jdt/internal/compiler/AbstractAnnotationProcessorManager;)V
            invokestatic org.eclipse.core.runtime.SafeRunner.run:(Lorg/eclipse/core/runtime/ISafeRunnable;)V
        33: .line 1981
            aload 1 /* apm */
            iconst_0
            aaload
            areturn
        end local 2 // org.eclipse.core.runtime.IConfigurationElement factory
        end local 1 // org.eclipse.jdt.internal.compiler.AbstractAnnotationProcessorManager[] apm
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   34     0            this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            3   23     2       extension  Lorg/eclipse/core/runtime/IExtensionPoint;
            7   23     3      extensions  [Lorg/eclipse/core/runtime/IExtension;
            8   23     4               i  I
           13   21     5  configElements  [Lorg/eclipse/core/runtime/IConfigurationElement;
           14   21     6               j  I
           16   19     7   configElement  Lorg/eclipse/core/runtime/IConfigurationElement;
           30   34     1             apm  [Lorg/eclipse/jdt/internal/compiler/AbstractAnnotationProcessorManager;
           32   34     2         factory  Lorg/eclipse/core/runtime/IConfigurationElement;
      Exception table:
        from    to  target  type
           1     5      25  any
           6    24      25  any
          25    26      25  any

  public int discardPerWorkingCopyInfo(org.eclipse.jdt.internal.core.CompilationUnit);
    descriptor: (Lorg/eclipse/jdt/internal/core/CompilationUnit;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.CompilationUnit workingCopy
         0: .line 1998
            aconst_null
            astore 2 /* deltaBuilder */
        start local 2 // org.eclipse.jdt.internal.core.JavaElementDeltaBuilder deltaBuilder
         1: .line 1999
            aload 1 /* workingCopy */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.isPrimary:()Z
            ifeq 3
            aload 1 /* workingCopy */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.hasUnsavedChanges:()Z
            ifeq 3
         2: .line 2000
            new org.eclipse.jdt.internal.core.JavaElementDeltaBuilder
            dup
            aload 1 /* workingCopy */
            invokespecial org.eclipse.jdt.internal.core.JavaElementDeltaBuilder.<init>:(Lorg/eclipse/jdt/core/IJavaElement;)V
            astore 2 /* deltaBuilder */
         3: .line 2002
      StackMap locals: org.eclipse.jdt.internal.core.JavaElementDeltaBuilder
      StackMap stack:
            aconst_null
            astore 3 /* info */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo info
         4: .line 2003
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            dup
            astore 4
            monitorenter
         5: .line 2004
            aload 1 /* workingCopy */
            getfield org.eclipse.jdt.internal.core.CompilationUnit.owner:Lorg/eclipse/jdt/core/WorkingCopyOwner;
            astore 5 /* owner */
        start local 5 // org.eclipse.jdt.core.WorkingCopyOwner owner
         6: .line 2005
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            aload 5 /* owner */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 6 /* workingCopyToInfos */
        start local 6 // java.util.Map workingCopyToInfos
         7: .line 2006
            aload 6 /* workingCopyToInfos */
            ifnonnull 9
            aload 4
            monitorexit
         8: iconst_m1
            ireturn
         9: .line 2008
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.CompilationUnit org.eclipse.jdt.internal.core.JavaElementDeltaBuilder org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo java.util.HashMap org.eclipse.jdt.core.WorkingCopyOwner java.util.Map
      StackMap stack:
            aload 6 /* workingCopyToInfos */
            aload 1 /* workingCopy */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo
            astore 3 /* info */
        10: .line 2009
            aload 3 /* info */
            ifnonnull 12
            aload 4
            monitorexit
        11: iconst_m1
            ireturn
        12: .line 2011
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            dup
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.useCount:I
            iconst_1
            isub
            dup_x1
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.useCount:I
            ifne 16
        13: .line 2013
            aload 6 /* workingCopyToInfos */
            aload 1 /* workingCopy */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 2014
            aload 6 /* workingCopyToInfos */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 16
        15: .line 2015
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            aload 5 /* owner */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.util.Map workingCopyToInfos
        end local 5 // org.eclipse.jdt.core.WorkingCopyOwner owner
        16: .line 2003
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 4
            monitorexit
        19: athrow
        20: .line 2019
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.useCount:I
            ifne 27
        21: .line 2022
            aload 0 /* this */
            aload 1 /* workingCopy */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren:(Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            pop
        22: .line 2023
            aload 1 /* workingCopy */
            invokevirtual org.eclipse.jdt.internal.core.CompilationUnit.closeBuffer:()V
        23: .line 2026
            aload 2 /* deltaBuilder */
            ifnull 27
        24: .line 2027
            aload 2 /* deltaBuilder */
            invokevirtual org.eclipse.jdt.internal.core.JavaElementDeltaBuilder.buildDeltas:()V
        25: .line 2028
            aload 2 /* deltaBuilder */
            getfield org.eclipse.jdt.internal.core.JavaElementDeltaBuilder.delta:Lorg/eclipse/jdt/internal/core/JavaElementDelta;
            ifnull 27
        26: .line 2029
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDeltaProcessor:()Lorg/eclipse/jdt/internal/core/DeltaProcessor;
            aload 2 /* deltaBuilder */
            getfield org.eclipse.jdt.internal.core.JavaElementDeltaBuilder.delta:Lorg/eclipse/jdt/internal/core/JavaElementDelta;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessor.registerJavaModelDelta:(Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        27: .line 2033
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.useCount:I
            ireturn
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo info
        end local 2 // org.eclipse.jdt.internal.core.JavaElementDeltaBuilder deltaBuilder
        end local 1 // org.eclipse.jdt.internal.core.CompilationUnit workingCopy
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   28     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   28     1         workingCopy  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            1   28     2        deltaBuilder  Lorg/eclipse/jdt/internal/core/JavaElementDeltaBuilder;
            4   28     3                info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;
            6   16     5               owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            7   16     6  workingCopyToInfos  Ljava/util/Map<Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;
      Exception table:
        from    to  target  type
           5     8      18  any
           9    11      18  any
          12    17      18  any
          18    19      18  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      workingCopy  

  public void doneSaving(org.eclipse.core.resources.ISaveContext);
    descriptor: (Lorg/eclipse/core/resources/ISaveContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.ISaveContext context
         0: .line 2042
            return
        end local 1 // org.eclipse.core.resources.ISaveContext context
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  context  Lorg/eclipse/core/resources/ISaveContext;
    MethodParameters:
         Name  Flags
      context  

  public void flushZipFiles(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.Object owner
         0: .line 2048
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
            astore 2 /* zipCache */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ZipCache zipCache
         1: .line 2049
            aload 2 /* zipCache */
            ifnonnull 5
         2: .line 2050
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
            ifeq 4
         3: .line 2051
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") [JavaModelManager.flushZipFiles(String)] NOT found cache for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* owner */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2053
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
      StackMap stack:
            return
         5: .line 2057
      StackMap locals:
      StackMap stack:
            aload 2 /* zipCache */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$ZipCache.owner:Ljava/lang/Object;
            aload 1 /* owner */
            if_acmpne 9
         6: .line 2058
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         7: .line 2059
            aload 2 /* zipCache */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ZipCache.flush:()V
         8: .line 2060
            goto 14
         9: .line 2061
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
            ifeq 14
        10: .line 2062
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        11: .line 2063
            ldc ") [JavaModelManager.flushZipFiles(String)] NOT closed cache, wrong owner, expected: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 2064
            aload 2 /* zipCache */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$ZipCache.owner:Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", got: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* owner */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 2062
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 2067
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ZipCache zipCache
        end local 1 // java.lang.Object owner
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   15     1     owner  Ljava/lang/Object;
            1   15     2  zipCache  Lorg/eclipse/jdt/internal/core/JavaModelManager$ZipCache;
    MethodParameters:
       Name  Flags
      owner  

  public synchronized boolean forceBatchInitializations(boolean);
    descriptor: (Z)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // boolean initAfterLoad
         0: .line 2074
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
            tableswitch { // 0 - 3
                    0: 1
                    1: 7
                    2: 7
                    3: 3
              default: 7
          }
         1: .line 2076
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
         2: .line 2077
            iconst_1
            ireturn
         3: .line 2079
      StackMap locals:
      StackMap stack:
            iload 1 /* initAfterLoad */
            ifeq 5
         4: .line 2080
            iconst_0
            ireturn
         5: .line 2081
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
         6: .line 2082
            iconst_1
            ireturn
         7: .line 2084
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean initAfterLoad
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    8     1  initAfterLoad  Z
    MethodParameters:
               Name  Flags
      initAfterLoad  

  private synchronized boolean batchContainerInitializations();
    descriptor: ()Z
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2088
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
            tableswitch { // 1 - 2
                    1: 1
                    2: 3
              default: 4
          }
         1: .line 2090
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
         2: .line 2091
            iconst_1
            ireturn
         3: .line 2093
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 2095
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  private synchronized void batchInitializationFinished();
    descriptor: ()V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2099
            aload 0 /* this */
            iconst_3
            putfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:I
         1: .line 2100
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public org.eclipse.jdt.core.IClasspathContainer getClasspathContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         0: .line 2104
            aload 0 /* this */
            aload 2 /* project */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerGet:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 3 /* container */
        start local 3 // org.eclipse.jdt.core.IClasspathContainer container
         1: .line 2106
            aload 3 /* container */
            ifnonnull 14
         2: .line 2107
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializations:()Z
            ifeq 10
         3: .line 2111
            aload 0 /* this */
            aload 2 /* project */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 3 /* container */
         4: .line 2112
            goto 8
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathContainer
      StackMap stack: java.lang.Throwable
         5: astore 4
         6: .line 2113
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.batchInitializationFinished:()V
         7: .line 2114
            aload 4
            athrow
         8: .line 2113
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.batchInitializationFinished:()V
         9: .line 2115
            goto 14
        10: .line 2116
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* project */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 3 /* container */
        11: .line 2117
            aload 0 /* this */
            aload 2 /* project */
            aload 1 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerBeingInitializedRemove:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            pop
        12: .line 2118
            new org.eclipse.jdt.internal.core.SetContainerOperation
            dup
            aload 1 /* containerPath */
            iconst_1
            anewarray org.eclipse.jdt.core.IJavaProject
            dup
            iconst_0
            aload 2 /* project */
            aastore
            iconst_1
            anewarray org.eclipse.jdt.core.IClasspathContainer
            dup
            iconst_0
            aload 3 /* container */
            aastore
            invokespecial org.eclipse.jdt.internal.core.SetContainerOperation.<init>:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IJavaProject;[Lorg/eclipse/jdt/core/IClasspathContainer;)V
            astore 4 /* operation */
        start local 4 // org.eclipse.jdt.internal.core.SetContainerOperation operation
        13: .line 2119
            aload 4 /* operation */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.SetContainerOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        end local 4 // org.eclipse.jdt.internal.core.SetContainerOperation operation
        14: .line 2122
      StackMap locals:
      StackMap stack:
            aload 3 /* container */
            areturn
        end local 3 // org.eclipse.jdt.core.IClasspathContainer container
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   15     1  containerPath  Lorg/eclipse/core/runtime/IPath;
            0   15     2        project  Lorg/eclipse/jdt/core/IJavaProject;
            1   15     3      container  Lorg/eclipse/jdt/core/IClasspathContainer;
           13   14     4      operation  Lorg/eclipse/jdt/internal/core/SetContainerOperation;
      Exception table:
        from    to  target  type
           3     5       5  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      containerPath  final
      project        final

  public org.eclipse.jdt.core.IClasspathEntry[] getReferencedClasspathEntries(org.eclipse.jdt.core.IClasspathEntry, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry libraryEntry
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         0: .line 2127
            aload 1 /* libraryEntry */
            checkcast org.eclipse.jdt.internal.core.ClasspathEntry
            invokevirtual org.eclipse.jdt.internal.core.ClasspathEntry.resolvedChainedLibraries:()[Lorg/eclipse/jdt/internal/core/ClasspathEntry;
            astore 3 /* referencedEntries */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
         1: .line 2129
            aload 2 /* project */
            ifnonnull 3
         2: .line 2130
            aload 3 /* referencedEntries */
            areturn
         3: .line 2132
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 4 /* perProjectInfo */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
         4: .line 2133
            aload 4 /* perProjectInfo */
            ifnonnull 6
         5: .line 2134
            aload 3 /* referencedEntries */
            areturn
         6: .line 2136
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            new java.util.LinkedHashSet
            dup
            aload 3 /* referencedEntries */
            arraylength
            invokespecial java.util.LinkedHashSet.<init>:(I)V
            astore 5 /* pathToReferencedEntries */
        start local 5 // java.util.LinkedHashSet pathToReferencedEntries
         7: .line 2137
            iconst_0
            istore 6 /* index */
        start local 6 // int index
         8: goto 16
         9: .line 2139
      StackMap locals: java.util.LinkedHashSet int
      StackMap stack:
            aload 5 /* pathToReferencedEntries */
            aload 3 /* referencedEntries */
            iload 6 /* index */
            aaload
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.LinkedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 11
        10: .line 2140
            goto 15
        11: .line 2142
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* persistedEntry */
        start local 7 // org.eclipse.jdt.core.IClasspathEntry persistedEntry
        12: .line 2143
            aload 4 /* perProjectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.rootPathToResolvedEntries:Ljava/util/Map;
            aload 3 /* referencedEntries */
            iload 6 /* index */
            aaload
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathEntry
            dup
            astore 7 /* persistedEntry */
            ifnull 14
        13: .line 2145
            aload 3 /* referencedEntries */
            iload 6 /* index */
            aload 7 /* persistedEntry */
            aastore
        14: .line 2147
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry
      StackMap stack:
            aload 5 /* pathToReferencedEntries */
            aload 3 /* referencedEntries */
            iload 6 /* index */
            aaload
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.core.IClasspathEntry persistedEntry
        15: .line 2137
      StackMap locals:
      StackMap stack:
            iinc 6 /* index */ 1
      StackMap locals:
      StackMap stack:
        16: iload 6 /* index */
            aload 3 /* referencedEntries */
            arraylength
            if_icmplt 9
        end local 6 // int index
        17: .line 2149
            aload 3 /* referencedEntries */
            areturn
        end local 5 // java.util.LinkedHashSet pathToReferencedEntries
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo perProjectInfo
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] referencedEntries
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // org.eclipse.jdt.core.IClasspathEntry libraryEntry
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   18     0                     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   18     1             libraryEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   18     2                  project  Lorg/eclipse/jdt/core/IJavaProject;
            1   18     3        referencedEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            4   18     4           perProjectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            7   18     5  pathToReferencedEntries  Ljava/util/LinkedHashSet<Lorg/eclipse/core/runtime/IPath;>;
            8   17     6                    index  I
           12   15     7           persistedEntry  Lorg/eclipse/jdt/core/IClasspathEntry;
    MethodParameters:
              Name  Flags
      libraryEntry  
      project       

  public org.eclipse.jdt.internal.core.DeltaProcessor getDeltaProcessor();
    descriptor: ()Lorg/eclipse/jdt/internal/core/DeltaProcessor;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2153
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.getDeltaProcessor:()Lorg/eclipse/jdt/internal/core/DeltaProcessor;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public static org.eclipse.jdt.internal.core.DeltaProcessingState getDeltaState();
    descriptor: ()Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2157
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.util.HashSet<org.eclipse.jdt.internal.core.Openable> getElementsOutOfSynchWithBuffers();
    descriptor: ()Ljava/util/HashSet;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2164
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.elementsOutOfSynchWithBuffers:Ljava/util/HashSet;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
    Signature: ()Ljava/util/HashSet<Lorg/eclipse/jdt/internal/core/Openable;>;

  public static org.eclipse.jdt.internal.core.ExternalFoldersManager getExternalManager();
    descriptor: ()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2168
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFoldersManager:Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.eclipse.jdt.internal.core.search.indexing.IndexManager getIndexManager();
    descriptor: ()Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2172
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public synchronized java.lang.Object getInfo(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 2179
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 2 /* tempCache */
        start local 2 // java.util.HashMap tempCache
         1: .line 2180
            aload 2 /* tempCache */
            ifnull 5
         2: .line 2181
            aload 2 /* tempCache */
            aload 1 /* element */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 2182
            aload 3 /* result */
            ifnull 5
         4: .line 2183
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
         5: .line 2186
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.getInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            areturn
        end local 2 // java.util.HashMap tempCache
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1    element  Lorg/eclipse/jdt/core/IJavaElement;
            1    6     2  tempCache  Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
            3    5     3     result  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  

  public synchronized org.eclipse.jdt.core.IJavaElement getExistingElement(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 2193
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.getExistingElement:(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  element  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
         Name  Flags
      element  

  public java.util.HashSet<org.eclipse.jdt.core.IJavaProject> getExternalWorkingCopyProjects();
    descriptor: ()Ljava/util/HashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2197
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 2198
            aconst_null
            astore 2 /* result */
        start local 2 // java.util.HashSet result
         2: .line 2199
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* values */
        start local 3 // java.util.Iterator values
         3: .line 2200
            goto 14
         4: .line 2201
      StackMap locals: java.util.HashMap java.util.HashSet java.util.Iterator
      StackMap stack:
            aload 3 /* values */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* ownerCopies */
        start local 4 // java.util.Map ownerCopies
         5: .line 2202
            aload 4 /* ownerCopies */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* workingCopies */
        start local 5 // java.util.Iterator workingCopies
         6: .line 2203
            goto 13
         7: .line 2204
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 5 /* workingCopies */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.ICompilationUnit
            astore 6 /* workingCopy */
        start local 6 // org.eclipse.jdt.core.ICompilationUnit workingCopy
         8: .line 2205
            aload 6 /* workingCopy */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 7 /* project */
        start local 7 // org.eclipse.jdt.core.IJavaProject project
         9: .line 2206
            aload 7 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            ldc " "
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        10: .line 2207
            aload 2 /* result */
            ifnonnull 12
        11: .line 2208
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* result */
        12: .line 2209
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.IJavaProject
      StackMap stack:
            aload 2 /* result */
            aload 7 /* project */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.core.IJavaProject project
        end local 6 // org.eclipse.jdt.core.ICompilationUnit workingCopy
        13: .line 2203
      StackMap locals:
      StackMap stack:
            aload 5 /* workingCopies */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 5 // java.util.Iterator workingCopies
        end local 4 // java.util.Map ownerCopies
        14: .line 2200
      StackMap locals:
      StackMap stack:
            aload 3 /* values */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        15: .line 2213
            aload 2 /* result */
            aload 1
            monitorexit
        16: areturn
        end local 3 // java.util.Iterator values
        end local 2 // java.util.HashSet result
        17: .line 2197
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        18: athrow
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            2   17     2         result  Ljava/util/HashSet<Lorg/eclipse/jdt/core/IJavaProject;>;
            3   17     3         values  Ljava/util/Iterator<Ljava/util/Map<Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;>;
            5   14     4    ownerCopies  Ljava/util/Map<Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;
            6   14     5  workingCopies  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/core/CompilationUnit;>;
            8   13     6    workingCopy  Lorg/eclipse/jdt/core/ICompilationUnit;
            9   13     7        project  Lorg/eclipse/jdt/core/IJavaProject;
      Exception table:
        from    to  target  type
           1    16      17  any
          17    18      17  any
    Signature: ()Ljava/util/HashSet<Lorg/eclipse/jdt/core/IJavaProject;>;

  public org.eclipse.core.runtime.preferences.IEclipsePreferences getInstancePreferences();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2221
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            aaload
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public java.util.Hashtable<java.lang.String, java.lang.String> getDefaultOptions();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2227
            new java.util.Hashtable
            dup
            bipush 10
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 1 /* defaultOptions */
        start local 1 // java.util.Hashtable defaultOptions
         1: .line 2231
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDefaultPreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 2 /* defaultPreferences */
        start local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences defaultPreferences
         2: .line 2234
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionNames:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 3 /* iterator */
        start local 3 // java.util.Iterator iterator
         3: .line 2235
            goto 7
         4: .line 2236
      StackMap locals: java.util.Hashtable org.eclipse.core.runtime.preferences.IEclipsePreferences java.util.Iterator
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* propertyName */
        start local 4 // java.lang.String propertyName
         5: .line 2237
            aload 2 /* defaultPreferences */
            aload 4 /* propertyName */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         6: .line 2238
            aload 5 /* value */
            ifnull 7
            aload 1 /* defaultOptions */
            aload 4 /* propertyName */
            aload 5 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.String value
        end local 4 // java.lang.String propertyName
         7: .line 2235
      StackMap locals:
      StackMap stack:
            aload 3 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 2241
            aload 1 /* defaultOptions */
            ldc "org.eclipse.jdt.core.encoding"
            invokestatic org.eclipse.jdt.core.JavaCore.getEncoding:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 2243
            aload 0 /* this */
            aload 1 /* defaultOptions */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.addDeprecatedOptions:(Ljava/util/Hashtable;)V
        10: .line 2245
            aload 1 /* defaultOptions */
            areturn
        end local 3 // java.util.Iterator iterator
        end local 2 // org.eclipse.core.runtime.preferences.IEclipsePreferences defaultPreferences
        end local 1 // java.util.Hashtable defaultOptions
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   11     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1   11     1      defaultOptions  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
            2   11     2  defaultPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            3   11     3            iterator  Ljava/util/Iterator<Ljava/lang/String;>;
            5    7     4        propertyName  Ljava/lang/String;
            6    7     5               value  Ljava/lang/String;
    Signature: ()Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;

  public org.eclipse.core.runtime.preferences.IEclipsePreferences getDefaultPreferences();
    descriptor: ()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2252
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_1
            aaload
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public final org.eclipse.jdt.internal.core.JavaModel getJavaModel();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaModel;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2259
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.javaModel:Lorg/eclipse/jdt/internal/core/JavaModel;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public static final org.eclipse.jdt.internal.core.JavaModelManager getJavaModelManager();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaModelManager;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2266
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object getLastBuiltState(org.eclipse.core.resources.IProject, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/resources/IProject;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject project
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 2276
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 4
         1: .line 2277
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 3
         2: .line 2278
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* project */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not a Java project"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 2279
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         4: .line 2281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 3 /* info */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         5: .line 2282
            aload 3 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.triedRead:Z
            ifne 13
         6: .line 2283
            aload 3 /* info */
            iconst_1
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.triedRead:Z
         7: .line 2285
            aload 2 /* monitor */
            ifnull 9
         8: .line 2286
            aload 2 /* monitor */
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_readStateProgress:Ljava/lang/String;
            aload 1 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.subTask:(Ljava/lang/String;)V
         9: .line 2287
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 3 /* info */
            aload 0 /* this */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.readState:(Lorg/eclipse/core/resources/IProject;)Ljava/lang/Object;
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.savedState:Ljava/lang/Object;
        10: .line 2288
            goto 13
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        11: astore 4 /* e */
        start local 4 // org.eclipse.core.runtime.CoreException e
        12: .line 2289
            aload 4 /* e */
            new java.lang.StringBuilder
            dup
            ldc "Exception while reading last build state for: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* project */
            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 4 // org.eclipse.core.runtime.CoreException e
        13: .line 2292
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.savedState:Ljava/lang/Object;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   14     1  project  Lorg/eclipse/core/resources/IProject;
            0   14     2  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            5   14     3     info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           12   13     4        e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
           7    10      11  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  
      monitor  

  public java.lang.String getOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String optionName
         0: .line 2297
            ldc "org.eclipse.jdt.core.encoding"
            aload 1 /* optionName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2298
            invokestatic org.eclipse.jdt.core.JavaCore.getEncoding:()Ljava/lang/String;
            areturn
         2: .line 2301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* optionName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.isDeprecatedOption:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 2302
            ldc "error"
            areturn
         4: .line 2304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* optionName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getOptionLevel:(Ljava/lang/String;)I
            istore 2 /* optionLevel */
        start local 2 // int optionLevel
         5: .line 2305
            iload 2 /* optionLevel */
            ifeq 14
         6: .line 2306
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            astore 3 /* service */
        start local 3 // org.eclipse.core.runtime.preferences.IPreferencesService service
         7: .line 2307
            aload 3 /* service */
            aload 1 /* optionName */
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.get:(Ljava/lang/String;Ljava/lang/String;[Lorg/osgi/service/prefs/Preferences;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         8: .line 2308
            aload 4 /* value */
            ifnonnull 11
            iload 2 /* optionLevel */
            iconst_1
            if_icmpne 11
         9: .line 2310
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            aload 1 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* compatibleOptions */
        start local 5 // java.lang.String[] compatibleOptions
        10: .line 2311
            aload 3 /* service */
            aload 5 /* compatibleOptions */
            iconst_0
            aaload
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.get:(Ljava/lang/String;Ljava/lang/String;[Lorg/osgi/service/prefs/Preferences;)Ljava/lang/String;
            astore 4 /* value */
        end local 5 // java.lang.String[] compatibleOptions
        11: .line 2313
      StackMap locals: int org.eclipse.core.runtime.preferences.IPreferencesService java.lang.String
      StackMap stack:
            aload 4 /* value */
            ifnonnull 12
            aconst_null
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 4 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        13: areturn
        end local 4 // java.lang.String value
        end local 3 // org.eclipse.core.runtime.preferences.IPreferencesService service
        14: .line 2315
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // int optionLevel
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   15     1         optionName  Ljava/lang/String;
            5   15     2        optionLevel  I
            7   14     3            service  Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            8   14     4              value  Ljava/lang/String;
           10   11     5  compatibleOptions  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      optionName  

  public java.lang.String getOption(java.lang.String, boolean, org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Ljava/lang/String;ZLorg/eclipse/core/runtime/preferences/IEclipsePreferences;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String optionName
        start local 2 // boolean inheritJavaCoreOptions
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
         0: .line 2329
            aload 0 /* this */
            aload 1 /* optionName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getOptionLevel:(Ljava/lang/String;)I
            tableswitch { // 1 - 2
                    1: 9
                    2: 1
              default: 20
          }
         1: .line 2332
      StackMap locals:
      StackMap stack:
            iload 2 /* inheritJavaCoreOptions */
            ifeq 2
            aload 1 /* optionName */
            invokestatic org.eclipse.jdt.core.JavaCore.getOption:(Ljava/lang/String;)Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 4 /* javaCoreDefault */
        start local 4 // java.lang.String javaCoreDefault
         4: .line 2333
            aload 3 /* projectPreferences */
            ifnonnull 5
            aload 4 /* javaCoreDefault */
            areturn
         5: .line 2334
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* projectPreferences */
            aload 1 /* optionName */
            aload 4 /* javaCoreDefault */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         6: .line 2335
            aload 5 /* value */
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals: java.lang.String
      StackMap stack:
         7: aload 5 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         8: areturn
        end local 5 // java.lang.String value
        end local 4 // java.lang.String javaCoreDefault
         9: .line 2338
      StackMap locals:
      StackMap stack:
            aload 3 /* projectPreferences */
            aload 1 /* optionName */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* oldValue */
        start local 6 // java.lang.String oldValue
        10: .line 2339
            aload 6 /* oldValue */
            ifnull 12
        11: .line 2340
            aload 6 /* oldValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            areturn
        12: .line 2343
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String int org.eclipse.core.runtime.preferences.IEclipsePreferences top top java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            aload 1 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 7 /* compatibleOptions */
        start local 7 // java.lang.String[] compatibleOptions
        13: .line 2344
            iload 2 /* inheritJavaCoreOptions */
            ifeq 14
            aload 7 /* compatibleOptions */
            iconst_0
            aaload
            invokestatic org.eclipse.jdt.core.JavaCore.getOption:(Ljava/lang/String;)Ljava/lang/String;
            goto 15
      StackMap locals: java.lang.String[]
      StackMap stack:
        14: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        15: astore 8 /* newDefault */
        start local 8 // java.lang.String newDefault
        16: .line 2345
            aload 3 /* projectPreferences */
            aload 7 /* compatibleOptions */
            iconst_0
            aaload
            aload 8 /* newDefault */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* newValue */
        start local 9 // java.lang.String newValue
        17: .line 2346
            aload 9 /* newValue */
            ifnonnull 18
            aconst_null
            goto 19
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
        18: aload 9 /* newValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        19: areturn
        end local 9 // java.lang.String newValue
        end local 8 // java.lang.String newDefault
        end local 7 // java.lang.String[] compatibleOptions
        end local 6 // java.lang.String oldValue
        20: .line 2348
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String int org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences projectPreferences
        end local 2 // boolean inheritJavaCoreOptions
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   21     0                    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   21     1              optionName  Ljava/lang/String;
            0   21     2  inheritJavaCoreOptions  Z
            0   21     3      projectPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            4    9     4         javaCoreDefault  Ljava/lang/String;
            6    9     5                   value  Ljava/lang/String;
           10   20     6                oldValue  Ljava/lang/String;
           13   20     7       compatibleOptions  [Ljava/lang/String;
           16   20     8              newDefault  Ljava/lang/String;
           17   20     9                newValue  Ljava/lang/String;
    MethodParameters:
                        Name  Flags
      optionName              
      inheritJavaCoreOptions  
      projectPreferences      

  public boolean knowsOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String optionName
         0: .line 2360
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionNames:Ljava/util/HashSet;
            aload 1 /* optionName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            istore 2 /* knownOption */
        start local 2 // boolean knownOption
         1: .line 2361
            iload 2 /* knownOption */
            ifne 5
         2: .line 2362
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            aload 1 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 2 /* knownOption */
         5: .line 2364
      StackMap locals:
      StackMap stack:
            iload 2 /* knownOption */
            ireturn
        end local 2 // boolean knownOption
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1   optionName  Ljava/lang/String;
            1    6     2  knownOption  Z
    MethodParameters:
            Name  Flags
      optionName  

  public int getOptionLevel(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String optionName
         0: .line 2380
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionNames:Ljava/util/HashSet;
            aload 1 /* optionName */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2381
            iconst_2
            ireturn
         2: .line 2383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            aload 1 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 4
         3: .line 2384
            iconst_1
            ireturn
         4: .line 2386
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    5     1  optionName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      optionName  

  public java.util.Hashtable<java.lang.String, java.lang.String> getOptions();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2393
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionsCache:Ljava/util/Hashtable;
            dup
            astore 1 /* cachedOptions */
        start local 1 // java.util.Hashtable cachedOptions
         1: ifnull 3
         2: .line 2394
            new java.util.Hashtable
            dup
            aload 1 /* cachedOptions */
            invokespecial java.util.Hashtable.<init>:(Ljava/util/Map;)V
            areturn
         3: .line 2396
      StackMap locals: java.util.Hashtable
      StackMap stack:
            invokestatic org.eclipse.core.runtime.Platform.isRunning:()Z
            ifne 6
         4: .line 2397
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDefaultOptionsNoInitialization:()Ljava/util/Hashtable;
            putfield org.eclipse.jdt.internal.core.JavaModelManager.optionsCache:Ljava/util/Hashtable;
         5: .line 2398
            new java.util.Hashtable
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionsCache:Ljava/util/Hashtable;
            invokespecial java.util.Hashtable.<init>:(Ljava/util/Map;)V
            areturn
         6: .line 2401
      StackMap locals:
      StackMap stack:
            new java.util.Hashtable
            dup
            bipush 10
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 2 /* options */
        start local 2 // java.util.Hashtable options
         7: .line 2402
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            astore 3 /* service */
        start local 3 // org.eclipse.core.runtime.preferences.IPreferencesService service
         8: .line 2405
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.optionNames:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 4 /* iterator */
        start local 4 // java.util.Iterator iterator
         9: .line 2406
            goto 14
        10: .line 2407
      StackMap locals: java.util.Hashtable org.eclipse.core.runtime.preferences.IPreferencesService java.util.Iterator
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* propertyName */
        start local 5 // java.lang.String propertyName
        11: .line 2408
            aload 3 /* service */
            aload 5 /* propertyName */
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.get:(Ljava/lang/String;Ljava/lang/String;[Lorg/osgi/service/prefs/Preferences;)Ljava/lang/String;
            astore 6 /* propertyValue */
        start local 6 // java.lang.String propertyValue
        12: .line 2409
            aload 6 /* propertyValue */
            ifnull 14
        13: .line 2410
            aload 2 /* options */
            aload 5 /* propertyName */
            aload 6 /* propertyValue */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.String propertyValue
        end local 5 // java.lang.String propertyName
        14: .line 2406
      StackMap locals:
      StackMap stack:
            aload 4 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 2415
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* deprecatedEntries */
        start local 5 // java.util.Iterator deprecatedEntries
        16: .line 2416
            goto 31
        17: .line 2417
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* deprecatedEntries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        18: .line 2418
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* propertyName */
        start local 7 // java.lang.String propertyName
        19: .line 2419
            aload 3 /* service */
            aload 7 /* propertyName */
            aconst_null
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.get:(Ljava/lang/String;Ljava/lang/String;[Lorg/osgi/service/prefs/Preferences;)Ljava/lang/String;
            astore 8 /* propertyValue */
        start local 8 // java.lang.String propertyValue
        20: .line 2420
            aload 8 /* propertyValue */
            ifnull 31
        21: .line 2421
            aload 2 /* options */
            aload 7 /* propertyName */
            aload 8 /* propertyValue */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 2422
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 9 /* compatibleOptions */
        start local 9 // java.lang.String[] compatibleOptions
        23: .line 2423
            iconst_0
            istore 10 /* co */
        start local 10 // int co
        24: aload 9 /* compatibleOptions */
            arraylength
            istore 11 /* length */
        start local 11 // int length
        25: goto 30
        26: .line 2424
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Hashtable java.util.Hashtable org.eclipse.core.runtime.preferences.IPreferencesService java.util.Iterator java.util.Iterator java.util.Map$Entry java.lang.String java.lang.String java.lang.String[] int int
      StackMap stack:
            aload 9 /* compatibleOptions */
            iload 10 /* co */
            aaload
            astore 12 /* compatibleOption */
        start local 12 // java.lang.String compatibleOption
        27: .line 2425
            aload 2 /* options */
            aload 12 /* compatibleOption */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 2426
            aload 2 /* options */
            aload 12 /* compatibleOption */
            aload 8 /* propertyValue */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // java.lang.String compatibleOption
        29: .line 2423
      StackMap locals:
      StackMap stack:
            iinc 10 /* co */ 1
      StackMap locals:
      StackMap stack:
        30: iload 10 /* co */
            iload 11 /* length */
            if_icmplt 26
        end local 11 // int length
        end local 10 // int co
        end local 9 // java.lang.String[] compatibleOptions
        end local 8 // java.lang.String propertyValue
        end local 7 // java.lang.String propertyName
        end local 6 // java.util.Map$Entry entry
        31: .line 2416
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Hashtable java.util.Hashtable org.eclipse.core.runtime.preferences.IPreferencesService java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 5 /* deprecatedEntries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        32: .line 2432
            aload 2 /* options */
            ldc "org.eclipse.jdt.core.encoding"
            invokestatic org.eclipse.jdt.core.JavaCore.getEncoding:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 2435
            aload 0 /* this */
            aload 2 /* options */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.addDeprecatedOptions:(Ljava/util/Hashtable;)V
        34: .line 2437
            aload 2 /* options */
            invokestatic org.eclipse.jdt.internal.core.util.Util.fixTaskTags:(Ljava/util/Map;)V
        35: .line 2439
            aload 0 /* this */
            new java.util.Hashtable
            dup
            aload 2 /* options */
            invokespecial java.util.Hashtable.<init>:(Ljava/util/Map;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.optionsCache:Ljava/util/Hashtable;
        36: .line 2441
            aload 2 /* options */
            areturn
        end local 5 // java.util.Iterator deprecatedEntries
        end local 4 // java.util.Iterator iterator
        end local 3 // org.eclipse.core.runtime.preferences.IPreferencesService service
        end local 2 // java.util.Hashtable options
        end local 1 // java.util.Hashtable cachedOptions
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   37     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1   37     1      cachedOptions  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
            7   37     2            options  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
            8   37     3            service  Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            9   37     4           iterator  Ljava/util/Iterator<Ljava/lang/String;>;
           11   14     5       propertyName  Ljava/lang/String;
           12   14     6      propertyValue  Ljava/lang/String;
           16   37     5  deprecatedEntries  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;[Ljava/lang/String;>;>;
           18   31     6              entry  Ljava/util/Map$Entry<Ljava/lang/String;[Ljava/lang/String;>;
           19   31     7       propertyName  Ljava/lang/String;
           20   31     8      propertyValue  Ljava/lang/String;
           23   31     9  compatibleOptions  [Ljava/lang/String;
           24   31    10                 co  I
           25   31    11             length  I
           27   29    12   compatibleOption  Ljava/lang/String;
    Signature: ()Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.Hashtable<java.lang.String, java.lang.String> getDefaultOptionsNoInitialization();
    descriptor: ()Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2446
            new org.eclipse.jdt.internal.compiler.impl.CompilerOptions
            dup
            invokespecial org.eclipse.jdt.internal.compiler.impl.CompilerOptions.<init>:()V
            invokevirtual org.eclipse.jdt.internal.compiler.impl.CompilerOptions.getMap:()Ljava/util/Map;
            astore 1 /* defaultOptionsMap */
        start local 1 // java.util.Map defaultOptionsMap
         1: .line 2449
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.debug.localVariable"
            ldc "generate"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2450
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.codegen.unusedLocal"
            ldc "preserve"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2451
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            ldc "TODO,FIXME,XXX"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2452
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskPriorities"
            ldc "NORMAL,HIGH,NORMAL"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 2453
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.taskCaseSensitive"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 2454
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.doc.comment.support"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 2455
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
            ldc "error"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 2458
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.builder.resourceCopyExclusionFilter"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 2459
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.builder.invalidClasspath"
            ldc "abort"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 2460
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.builder.duplicateResourceTask"
            ldc "warning"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 2461
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.builder.cleanOutputFolder"
            ldc "clean"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 2464
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.computeJavaBuildOrder"
            ldc "ignore"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 2465
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.incompleteClasspath"
            ldc "error"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 2466
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.circularClasspath"
            ldc "error"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 2467
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.incompatibleJDKLevel"
            ldc "ignore"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 2468
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.classpath.mainOnlyProjectHasTestOnlyDependency"
            ldc "error"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 2469
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource"
            ldc "error"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 2470
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.classpath.exclusionPatterns"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 2471
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.classpath.multipleOutputLocations"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 2474
            aload 1 /* defaultOptionsMap */
            invokestatic org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants.getEclipseDefaultSettings:()Ljava/util/Map;
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
        21: .line 2477
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.visibilityCheck"
            ldc "disabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 2478
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.deprecationCheck"
            ldc "disabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 2479
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.forceImplicitQualification"
            ldc "disabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 2480
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.fieldPrefixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 2481
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.staticFieldPrefixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 2482
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 2483
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.localPrefixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 2484
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.argumentPrefixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 2485
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.fieldSuffixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 2486
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.staticFieldSuffixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 2487
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 2488
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.localSuffixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 2489
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.argumentSuffixes"
            ldc ""
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 2490
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.forbiddenReferenceCheck"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 2491
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.discouragedReferenceCheck"
            ldc "disabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 2492
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.camelCaseMatch"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 2493
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.substringMatch"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 2494
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.codeComplete.suggestStaticImports"
            ldc "enabled"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 2497
            aload 1 /* defaultOptionsMap */
            ldc "org.eclipse.jdt.core.timeoutForParameterNameFromAttachedJavadoc"
            ldc "50"
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 2499
            new java.util.Hashtable
            dup
            aload 1 /* defaultOptionsMap */
            invokespecial java.util.Hashtable.<init>:(Ljava/util/Map;)V
            areturn
        end local 1 // java.util.Map defaultOptionsMap
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   41     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1   41     1  defaultOptionsMap  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: ()Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;

  public org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo getPerProjectInfo(org.eclipse.core.resources.IProject, boolean);
    descriptor: (Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject project
        start local 2 // boolean create
         0: .line 2506
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         1: .line 2507
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            aload 1 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
            astore 4 /* info */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         2: .line 2508
            aload 4 /* info */
            ifnonnull 5
            iload 2 /* create */
            ifeq 5
         3: .line 2509
            new org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
            dup
            aload 1 /* project */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.<init>:(Lorg/eclipse/core/resources/IProject;)V
            astore 4 /* info */
         4: .line 2510
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            aload 1 /* project */
            aload 4 /* info */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 2512
      StackMap locals: java.util.Map org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 4 /* info */
            aload 3
            monitorexit
         6: areturn
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         7: .line 2506
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.IProject int java.util.Map
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         8: athrow
        end local 2 // boolean create
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    9     1  project  Lorg/eclipse/core/resources/IProject;
            0    9     2   create  Z
            2    7     4     info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
         Name  Flags
      project  
      create   

  public org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo getPerProjectInfoCheckExistence(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 2522
            aload 0 /* this */
            aload 1 /* project */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 2 /* info */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         1: .line 2523
            aload 2 /* info */
            ifnonnull 5
         2: .line 2524
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 4
         3: .line 2525
            aload 1 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaProject
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.newNotPresentException:()Lorg/eclipse/jdt/core/JavaModelException;
            athrow
         4: .line 2527
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 2 /* info */
         5: .line 2529
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1  project  Lorg/eclipse/core/resources/IProject;
            1    6     2     info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  

  public org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo getPerWorkingCopyInfo(org.eclipse.jdt.internal.core.CompilationUnit, boolean, boolean, org.eclipse.jdt.core.IProblemRequestor);
    descriptor: (Lorg/eclipse/jdt/internal/core/CompilationUnit;ZZLorg/eclipse/jdt/core/IProblemRequestor;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.CompilationUnit workingCopy
        start local 2 // boolean create
        start local 3 // boolean recordUsage
        start local 4 // org.eclipse.jdt.core.IProblemRequestor problemRequestor
         0: .line 2539
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            dup
            astore 5
            monitorenter
         1: .line 2540
            aload 1 /* workingCopy */
            getfield org.eclipse.jdt.internal.core.CompilationUnit.owner:Lorg/eclipse/jdt/core/WorkingCopyOwner;
            astore 6 /* owner */
        start local 6 // org.eclipse.jdt.core.WorkingCopyOwner owner
         2: .line 2541
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            aload 6 /* owner */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 7 /* workingCopyToInfos */
        start local 7 // java.util.Map workingCopyToInfos
         3: .line 2542
            aload 7 /* workingCopyToInfos */
            ifnonnull 6
            iload 2 /* create */
            ifeq 6
         4: .line 2543
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 7 /* workingCopyToInfos */
         5: .line 2544
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            aload 6 /* owner */
            aload 7 /* workingCopyToInfos */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 2547
      StackMap locals: java.util.HashMap org.eclipse.jdt.core.WorkingCopyOwner java.util.Map
      StackMap stack:
            aload 7 /* workingCopyToInfos */
            ifnonnull 7
            aconst_null
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 7 /* workingCopyToInfos */
            aload 1 /* workingCopy */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo
         8: astore 8 /* info */
        start local 8 // org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo info
         9: .line 2548
            aload 8 /* info */
            ifnonnull 12
            iload 2 /* create */
            ifeq 12
        10: .line 2549
            new org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo
            dup
            aload 1 /* workingCopy */
            aload 4 /* problemRequestor */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.<init>:(Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/core/IProblemRequestor;)V
            astore 8 /* info */
        11: .line 2550
            aload 7 /* workingCopyToInfos */
            aload 1 /* workingCopy */
            aload 8 /* info */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 2552
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo
      StackMap stack:
            aload 8 /* info */
            ifnull 13
            iload 3 /* recordUsage */
            ifeq 13
            aload 8 /* info */
            dup
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.useCount:I
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.useCount:I
        13: .line 2553
      StackMap locals:
      StackMap stack:
            aload 8 /* info */
            aload 5
            monitorexit
        14: areturn
        end local 8 // org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo info
        end local 7 // java.util.Map workingCopyToInfos
        end local 6 // org.eclipse.jdt.core.WorkingCopyOwner owner
        15: .line 2539
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.CompilationUnit int int org.eclipse.jdt.core.IProblemRequestor java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        16: athrow
        end local 4 // org.eclipse.jdt.core.IProblemRequestor problemRequestor
        end local 3 // boolean recordUsage
        end local 2 // boolean create
        end local 1 // org.eclipse.jdt.internal.core.CompilationUnit workingCopy
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   17     1         workingCopy  Lorg/eclipse/jdt/internal/core/CompilationUnit;
            0   17     2              create  Z
            0   17     3         recordUsage  Z
            0   17     4    problemRequestor  Lorg/eclipse/jdt/core/IProblemRequestor;
            2   15     6               owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            3   15     7  workingCopyToInfos  Ljava/util/Map<Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;
            9   15     8                info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;
      Exception table:
        from    to  target  type
           1    14      15  any
          15    16      15  any
    MethodParameters:
                  Name  Flags
      workingCopy       
      create            
      recordUsage       
      problemRequestor  

  public org.eclipse.jdt.core.IClasspathContainer getPreviousSessionContainer(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         0: .line 2563
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionContainers:Ljava/util/HashMap;
            aload 2 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 3 /* previousContainerValues */
        start local 3 // java.util.Map previousContainerValues
         1: .line 2564
            aload 3 /* previousContainerValues */
            ifnull 7
         2: .line 2565
            aload 3 /* previousContainerValues */
            aload 1 /* containerPath */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IClasspathContainer
            astore 4 /* previousContainer */
        start local 4 // org.eclipse.jdt.core.IClasspathContainer previousContainer
         3: .line 2566
            aload 4 /* previousContainer */
            ifnull 7
         4: .line 2567
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 6
         5: .line 2568
            aload 0 /* this */
            aload 1 /* containerPath */
            aload 2 /* project */
            aload 4 /* previousContainer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_reentering_project_container_access:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IClasspathContainer;)V
         6: .line 2569
      StackMap locals: java.util.Map org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            aload 4 /* previousContainer */
            areturn
        end local 4 // org.eclipse.jdt.core.IClasspathContainer previousContainer
         7: .line 2572
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.util.Map previousContainerValues
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    8     0                     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    8     1            containerPath  Lorg/eclipse/core/runtime/IPath;
            0    8     2                  project  Lorg/eclipse/jdt/core/IJavaProject;
            1    8     3  previousContainerValues  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
            3    7     4        previousContainer  Lorg/eclipse/jdt/core/IClasspathContainer;
    MethodParameters:
               Name  Flags
      containerPath  
      project        

  private void verbose_reentering_project_container_access(org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.IClasspathContainer);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/IClasspathContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // org.eclipse.jdt.core.IJavaProject project
        start local 3 // org.eclipse.jdt.core.IClasspathContainer previousContainer
         0: .line 2576
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuffer buffer
         1: .line 2577
            aload 4 /* buffer */
            ldc "CPContainer INIT - reentering access to project container during its initialization, will see previous value\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 2578
            aload 4 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 2579
            aload 4 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "\tcontainer path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 2580
            aload 4 /* buffer */
            ldc "\tprevious value: "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 2581
            aload 4 /* buffer */
            aload 3 /* previousContainer */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 2582
            aload 4 /* buffer */
            ldc " {\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         7: .line 2583
            aload 3 /* previousContainer */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 5 /* entries */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] entries
         8: .line 2584
            aload 5 /* entries */
            ifnull 16
         9: .line 2585
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        10: goto 15
        11: .line 2586
      StackMap locals: java.lang.StringBuffer org.eclipse.jdt.core.IClasspathEntry[] int
      StackMap stack:
            aload 4 /* buffer */
            ldc " \t\t"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        12: .line 2587
            aload 4 /* buffer */
            aload 5 /* entries */
            iload 6 /* j */
            aaload
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        13: .line 2588
            aload 4 /* buffer */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 2585
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* j */
            aload 5 /* entries */
            arraylength
            if_icmplt 11
        end local 6 // int j
        16: .line 2591
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            ldc " \t}"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        17: .line 2592
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        18: .line 2593
            new java.lang.Exception
            dup
            ldc "<Fake exception>"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
        19: .line 2594
            return
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 4 // java.lang.StringBuffer buffer
        end local 3 // org.eclipse.jdt.core.IClasspathContainer previousContainer
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   20     1      containerPath  Lorg/eclipse/core/runtime/IPath;
            0   20     2            project  Lorg/eclipse/jdt/core/IJavaProject;
            0   20     3  previousContainer  Lorg/eclipse/jdt/core/IClasspathContainer;
            1   20     4             buffer  Ljava/lang/StringBuffer;
            8   20     5            entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
           10   16     6                  j  I
    MethodParameters:
                   Name  Flags
      containerPath      
      project            
      previousContainer  

  public org.eclipse.core.runtime.IPath getPreviousSessionVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String variableName
         0: .line 2600
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionVariables:Ljava/util/HashMap;
            aload 1 /* variableName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 2 /* previousPath */
        start local 2 // org.eclipse.core.runtime.IPath previousPath
         1: .line 2601
            aload 2 /* previousPath */
            ifnull 5
         2: .line 2602
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 4
         3: .line 2603
            aload 0 /* this */
            aload 1 /* variableName */
            aload 2 /* previousPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_reentering_variable_access:(Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
         4: .line 2604
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* previousPath */
            areturn
         5: .line 2606
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.core.runtime.IPath previousPath
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1  variableName  Ljava/lang/String;
            1    6     2  previousPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
              Name  Flags
      variableName  

  private void verbose_reentering_variable_access(java.lang.String, org.eclipse.core.runtime.IPath);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String variableName
        start local 2 // org.eclipse.core.runtime.IPath previousPath
         0: .line 2611
            new java.lang.StringBuilder
            dup
            ldc "CPVariable INIT - reentering access to variable during its initialization, will see previous value\n\tvariable: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 2612
            aload 1 /* variableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 2613
            ldc "\tprevious value: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* previousPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 2611
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2610
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         5: .line 2614
            new java.lang.Exception
            dup
            ldc "<Fake exception>"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         6: .line 2615
            return
        end local 2 // org.eclipse.core.runtime.IPath previousPath
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1  variableName  Ljava/lang/String;
            0    7     2  previousPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
              Name  Flags
      variableName  
      previousPath  

  public java.util.HashMap<org.eclipse.jdt.core.IJavaElement, java.lang.Object> getTemporaryCache();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2622
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 1 /* result */
        start local 1 // java.util.HashMap result
         1: .line 2623
            aload 1 /* result */
            ifnonnull 4
         2: .line 2624
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* result */
         3: .line 2625
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
            aload 1 /* result */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 2627
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.HashMap result
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1    5     1  result  Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
    Signature: ()Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;

  private java.io.File getVariableAndContainersFile();
    descriptor: ()Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2631
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            invokevirtual org.eclipse.core.runtime.Plugin.getStateLocation:()Lorg/eclipse/core/runtime/IPath;
            ldc "variablesAndContainers.dat"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public static java.lang.String[] getRegisteredVariableNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=0
         0: .line 2639
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            astore 0 /* jdtCorePlugin */
        start local 0 // org.eclipse.core.runtime.Plugin jdtCorePlugin
         1: .line 2640
            aload 0 /* jdtCorePlugin */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 2642
      StackMap locals: org.eclipse.core.runtime.Plugin
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* variableList */
        start local 1 // java.util.ArrayList variableList
         3: .line 2643
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.core"
            ldc "classpathVariableInitializer"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 2 /* extension */
        start local 2 // org.eclipse.core.runtime.IExtensionPoint extension
         4: .line 2644
            aload 2 /* extension */
            ifnull 17
         5: .line 2645
            aload 2 /* extension */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getExtensions:()[Lorg/eclipse/core/runtime/IExtension;
            astore 3 /* extensions */
        start local 3 // org.eclipse.core.runtime.IExtension[] extensions
         6: .line 2646
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 16
         8: .line 2647
      StackMap locals: org.eclipse.core.runtime.Plugin java.util.ArrayList org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IExtension[] int
      StackMap stack:
            aload 3 /* extensions */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IExtension.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 5 /* configElements */
        start local 5 // org.eclipse.core.runtime.IConfigurationElement[] configElements
         9: .line 2648
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        10: goto 14
        11: .line 2649
      StackMap locals: org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            aload 5 /* configElements */
            iload 6 /* j */
            aaload
            ldc "variable"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* varAttribute */
        start local 7 // java.lang.String varAttribute
        12: .line 2650
            aload 7 /* varAttribute */
            ifnull 13
            aload 1 /* variableList */
            aload 7 /* varAttribute */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String varAttribute
        13: .line 2648
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* j */
            aload 5 /* configElements */
            arraylength
            if_icmplt 11
        end local 6 // int j
        end local 5 // org.eclipse.core.runtime.IConfigurationElement[] configElements
        15: .line 2646
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 3 /* extensions */
            arraylength
            if_icmplt 8
        end local 4 // int i
        end local 3 // org.eclipse.core.runtime.IExtension[] extensions
        17: .line 2654
      StackMap locals:
      StackMap stack:
            aload 1 /* variableList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            astore 3 /* variableNames */
        start local 3 // java.lang.String[] variableNames
        18: .line 2655
            aload 1 /* variableList */
            aload 3 /* variableNames */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        19: .line 2656
            aload 3 /* variableNames */
            areturn
        end local 3 // java.lang.String[] variableNames
        end local 2 // org.eclipse.core.runtime.IExtensionPoint extension
        end local 1 // java.util.ArrayList variableList
        end local 0 // org.eclipse.core.runtime.Plugin jdtCorePlugin
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            1   20     0   jdtCorePlugin  Lorg/eclipse/core/runtime/Plugin;
            3   20     1    variableList  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   20     2       extension  Lorg/eclipse/core/runtime/IExtensionPoint;
            6   17     3      extensions  [Lorg/eclipse/core/runtime/IExtension;
            7   17     4               i  I
            9   15     5  configElements  [Lorg/eclipse/core/runtime/IConfigurationElement;
           10   15     6               j  I
           12   13     7    varAttribute  Ljava/lang/String;
           18   20     3   variableNames  [Ljava/lang/String;

  public static java.lang.String[] getRegisteredContainerIDs();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=0
         0: .line 2664
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            astore 0 /* jdtCorePlugin */
        start local 0 // org.eclipse.core.runtime.Plugin jdtCorePlugin
         1: .line 2665
            aload 0 /* jdtCorePlugin */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 2667
      StackMap locals: org.eclipse.core.runtime.Plugin
      StackMap stack:
            new java.util.ArrayList
            dup
            iconst_5
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* containerIDList */
        start local 1 // java.util.ArrayList containerIDList
         3: .line 2668
            invokestatic org.eclipse.core.runtime.Platform.getExtensionRegistry:()Lorg/eclipse/core/runtime/IExtensionRegistry;
            ldc "org.eclipse.jdt.core"
            ldc "classpathContainerInitializer"
            invokeinterface org.eclipse.core.runtime.IExtensionRegistry.getExtensionPoint:(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/core/runtime/IExtensionPoint;
            astore 2 /* extension */
        start local 2 // org.eclipse.core.runtime.IExtensionPoint extension
         4: .line 2669
            aload 2 /* extension */
            ifnull 17
         5: .line 2670
            aload 2 /* extension */
            invokeinterface org.eclipse.core.runtime.IExtensionPoint.getExtensions:()[Lorg/eclipse/core/runtime/IExtension;
            astore 3 /* extensions */
        start local 3 // org.eclipse.core.runtime.IExtension[] extensions
         6: .line 2671
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 16
         8: .line 2672
      StackMap locals: org.eclipse.core.runtime.Plugin java.util.ArrayList org.eclipse.core.runtime.IExtensionPoint org.eclipse.core.runtime.IExtension[] int
      StackMap stack:
            aload 3 /* extensions */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.core.runtime.IExtension.getConfigurationElements:()[Lorg/eclipse/core/runtime/IConfigurationElement;
            astore 5 /* configElements */
        start local 5 // org.eclipse.core.runtime.IConfigurationElement[] configElements
         9: .line 2673
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        10: goto 14
        11: .line 2674
      StackMap locals: org.eclipse.core.runtime.IConfigurationElement[] int
      StackMap stack:
            aload 5 /* configElements */
            iload 6 /* j */
            aaload
            ldc "id"
            invokeinterface org.eclipse.core.runtime.IConfigurationElement.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* idAttribute */
        start local 7 // java.lang.String idAttribute
        12: .line 2675
            aload 7 /* idAttribute */
            ifnull 13
            aload 1 /* containerIDList */
            aload 7 /* idAttribute */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String idAttribute
        13: .line 2673
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 6 /* j */
            aload 5 /* configElements */
            arraylength
            if_icmplt 11
        end local 6 // int j
        end local 5 // org.eclipse.core.runtime.IConfigurationElement[] configElements
        15: .line 2671
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 3 /* extensions */
            arraylength
            if_icmplt 8
        end local 4 // int i
        end local 3 // org.eclipse.core.runtime.IExtension[] extensions
        17: .line 2679
      StackMap locals:
      StackMap stack:
            aload 1 /* containerIDList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            astore 3 /* containerIDs */
        start local 3 // java.lang.String[] containerIDs
        18: .line 2680
            aload 1 /* containerIDList */
            aload 3 /* containerIDs */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        19: .line 2681
            aload 3 /* containerIDs */
            areturn
        end local 3 // java.lang.String[] containerIDs
        end local 2 // org.eclipse.core.runtime.IExtensionPoint extension
        end local 1 // java.util.ArrayList containerIDList
        end local 0 // org.eclipse.core.runtime.Plugin jdtCorePlugin
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1   20     0    jdtCorePlugin  Lorg/eclipse/core/runtime/Plugin;
            3   20     1  containerIDList  Ljava/util/ArrayList<Ljava/lang/String;>;
            4   20     2        extension  Lorg/eclipse/core/runtime/IExtensionPoint;
            6   17     3       extensions  [Lorg/eclipse/core/runtime/IExtension;
            7   17     4                i  I
            9   15     5   configElements  [Lorg/eclipse/core/runtime/IConfigurationElement;
           10   15     6                j  I
           12   13     7      idAttribute  Ljava/lang/String;
           18   20     3     containerIDs  [Ljava/lang/String;

  public org.eclipse.jdt.core.IClasspathEntry resolveVariableEntry(org.eclipse.jdt.core.IClasspathEntry, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IClasspathEntry entry
        start local 2 // boolean usePreviousSession
         0: .line 2686
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_4
            if_icmpeq 2
         1: .line 2687
            aload 1 /* entry */
            areturn
         2: .line 2689
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* resolvedPath */
        start local 3 // org.eclipse.core.runtime.IPath resolvedPath
         3: .line 2690
            aload 3 /* resolvedPath */
            ifnonnull 5
         4: .line 2691
            aconst_null
            areturn
         5: .line 2693
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aconst_null
            aload 3 /* resolvedPath */
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.resolveDotDot:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 3 /* resolvedPath */
         6: .line 2695
            aload 3 /* resolvedPath */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            astore 4 /* target */
        start local 4 // java.lang.Object target
         7: .line 2696
            aload 4 /* target */
            ifnonnull 9
         8: .line 2697
            aconst_null
            areturn
         9: .line 2700
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 4 /* target */
            instanceof org.eclipse.core.resources.IResource
            ifeq 32
        10: .line 2701
            aload 4 /* target */
            checkcast org.eclipse.core.resources.IResource
            astore 5 /* resolvedResource */
        start local 5 // org.eclipse.core.resources.IResource resolvedResource
        11: .line 2702
            aload 5 /* resolvedResource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            tableswitch { // 1 - 4
                    1: 18
                    2: 25
                    3: 32
                    4: 12
              default: 32
          }
        12: .line 2707
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack:
            aload 3 /* resolvedPath */
        13: .line 2708
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getAccessRules:()[Lorg/eclipse/jdt/core/IAccessRule;
        14: .line 2709
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.combineAccessRules:()Z
        15: .line 2710
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
        16: .line 2711
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
        17: .line 2706
            invokestatic org.eclipse.jdt.core.JavaCore.newProjectEntry:(Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;Z[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        18: .line 2715
      StackMap locals:
      StackMap stack:
            aload 3 /* resolvedPath */
        19: .line 2716
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        20: .line 2717
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        21: .line 2718
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getAccessRules:()[Lorg/eclipse/jdt/core/IAccessRule;
        22: .line 2719
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
        23: .line 2720
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
        24: .line 2714
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        25: .line 2724
      StackMap locals:
      StackMap stack:
            aload 3 /* resolvedPath */
        26: .line 2725
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        27: .line 2726
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        28: .line 2727
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getAccessRules:()[Lorg/eclipse/jdt/core/IAccessRule;
        29: .line 2728
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
        30: .line 2729
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
        31: .line 2723
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 5 // org.eclipse.core.resources.IResource resolvedResource
        32: .line 2732
      StackMap locals:
      StackMap stack:
            aload 4 /* target */
            instanceof java.io.File
            ifeq 50
        33: .line 2733
            aload 4 /* target */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getFile:(Ljava/lang/Object;)Ljava/io/File;
            astore 5 /* externalFile */
        start local 5 // java.io.File externalFile
        34: .line 2734
            aload 5 /* externalFile */
            ifnull 42
        35: .line 2737
            aload 3 /* resolvedPath */
        36: .line 2738
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        37: .line 2739
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        38: .line 2740
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getAccessRules:()[Lorg/eclipse/jdt/core/IAccessRule;
        39: .line 2741
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
        40: .line 2742
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
        41: .line 2736
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        42: .line 2745
      StackMap locals: java.io.File
      StackMap stack:
            aload 3 /* resolvedPath */
            invokeinterface org.eclipse.core.runtime.IPath.isAbsolute:()Z
            ifeq 50
        43: .line 2747
            aload 3 /* resolvedPath */
        44: .line 2748
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        45: .line 2749
            aload 0 /* this */
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getSourceAttachmentRootPath:()Lorg/eclipse/core/runtime/IPath;
            iload 2 /* usePreviousSession */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getResolvedVariablePath:(Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
        46: .line 2750
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getAccessRules:()[Lorg/eclipse/jdt/core/IAccessRule;
        47: .line 2751
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
        48: .line 2752
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.isExported:()Z
        49: .line 2746
            invokestatic org.eclipse.jdt.core.JavaCore.newLibraryEntry:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;[Lorg/eclipse/jdt/core/IAccessRule;[Lorg/eclipse/jdt/core/IClasspathAttribute;Z)Lorg/eclipse/jdt/core/IClasspathEntry;
            areturn
        end local 5 // java.io.File externalFile
        50: .line 2756
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.Object target
        end local 3 // org.eclipse.core.runtime.IPath resolvedPath
        end local 2 // boolean usePreviousSession
        end local 1 // org.eclipse.jdt.core.IClasspathEntry entry
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   51     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   51     1               entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            0   51     2  usePreviousSession  Z
            3   51     3        resolvedPath  Lorg/eclipse/core/runtime/IPath;
            7   51     4              target  Ljava/lang/Object;
           11   32     5    resolvedResource  Lorg/eclipse/core/resources/IResource;
           34   50     5        externalFile  Ljava/io/File;
    MethodParameters:
                    Name  Flags
      entry               
      usePreviousSession  

  public org.eclipse.core.runtime.IPath getResolvedVariablePath(org.eclipse.core.runtime.IPath, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Z)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath variablePath
        start local 2 // boolean usePreviousSession
         0: .line 2761
            aload 1 /* variablePath */
            ifnonnull 2
         1: .line 2762
            aconst_null
            areturn
         2: .line 2763
      StackMap locals:
      StackMap stack:
            aload 1 /* variablePath */
            invokeinterface org.eclipse.core.runtime.IPath.segmentCount:()I
            istore 3 /* count */
        start local 3 // int count
         3: .line 2764
            iload 3 /* count */
            ifne 5
         4: .line 2765
            aconst_null
            areturn
         5: .line 2768
      StackMap locals: int
      StackMap stack:
            aload 1 /* variablePath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            astore 4 /* variableName */
        start local 4 // java.lang.String variableName
         6: .line 2769
            iload 2 /* usePreviousSession */
            ifeq 7
            aload 0 /* this */
            aload 4 /* variableName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPreviousSessionVariable:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            goto 8
      StackMap locals: java.lang.String
      StackMap stack:
         7: aload 4 /* variableName */
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathVariable:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.IPath
         8: astore 5 /* resolvedPath */
        start local 5 // org.eclipse.core.runtime.IPath resolvedPath
         9: .line 2770
            aload 5 /* resolvedPath */
            ifnonnull 11
        10: .line 2771
            aconst_null
            areturn
        11: .line 2774
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            iload 3 /* count */
            iconst_1
            if_icmple 13
        12: .line 2775
            aload 5 /* resolvedPath */
            aload 1 /* variablePath */
            iconst_1
            invokeinterface org.eclipse.core.runtime.IPath.removeFirstSegments:(I)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.append:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/runtime/IPath;
            astore 5 /* resolvedPath */
        13: .line 2777
      StackMap locals:
      StackMap stack:
            aload 5 /* resolvedPath */
            areturn
        end local 5 // org.eclipse.core.runtime.IPath resolvedPath
        end local 4 // java.lang.String variableName
        end local 3 // int count
        end local 2 // boolean usePreviousSession
        end local 1 // org.eclipse.core.runtime.IPath variablePath
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   14     1        variablePath  Lorg/eclipse/core/runtime/IPath;
            0   14     2  usePreviousSession  Z
            3   14     3               count  I
            6   14     4        variableName  Ljava/lang/String;
            9   14     5        resolvedPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                    Name  Flags
      variablePath        
      usePreviousSession  

  private java.io.File getSerializationFile(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 2784
            aload 1 /* project */
            invokeinterface org.eclipse.core.resources.IProject.exists:()Z
            ifne 1
            aconst_null
            areturn
         1: .line 2785
      StackMap locals:
      StackMap stack:
            aload 1 /* project */
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.resources.IProject.getWorkingLocation:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 2 /* workingLocation */
        start local 2 // org.eclipse.core.runtime.IPath workingLocation
         2: .line 2786
            aload 2 /* workingLocation */
            ldc "state.dat"
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            areturn
        end local 2 // org.eclipse.core.runtime.IPath workingLocation
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1          project  Lorg/eclipse/core/resources/IProject;
            2    3     2  workingLocation  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
         Name  Flags
      project  

  public static org.eclipse.jdt.internal.core.UserLibraryManager getUserLibraryManager();
    descriptor: ()Lorg/eclipse/jdt/internal/core/UserLibraryManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 2790
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.userLibraryManager:Lorg/eclipse/jdt/internal/core/UserLibraryManager;
            ifnonnull 9
         1: .line 2791
            new org.eclipse.jdt.internal.core.UserLibraryManager
            dup
            invokespecial org.eclipse.jdt.internal.core.UserLibraryManager.<init>:()V
            astore 0 /* libraryManager */
        start local 0 // org.eclipse.jdt.internal.core.UserLibraryManager libraryManager
         2: .line 2792
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            dup
            astore 1
            monitorenter
         3: .line 2793
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.userLibraryManager:Lorg/eclipse/jdt/internal/core/UserLibraryManager;
            ifnonnull 5
         4: .line 2794
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* libraryManager */
            putfield org.eclipse.jdt.internal.core.JavaModelManager.userLibraryManager:Lorg/eclipse/jdt/internal/core/UserLibraryManager;
         5: .line 2792
      StackMap locals: org.eclipse.jdt.internal.core.UserLibraryManager org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack:
            aload 1
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
        end local 0 // org.eclipse.jdt.internal.core.UserLibraryManager libraryManager
         9: .line 2798
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.userLibraryManager:Lorg/eclipse/jdt/internal/core/UserLibraryManager;
            areturn
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            2    9     0  libraryManager  Lorg/eclipse/jdt/internal/core/UserLibraryManager;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any

  public static org.eclipse.jdt.internal.core.ModuleSourcePathManager getModulePathManager();
    descriptor: ()Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 2802
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.modulePathManager:Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
            ifnonnull 9
         1: .line 2803
            new org.eclipse.jdt.internal.core.ModuleSourcePathManager
            dup
            invokespecial org.eclipse.jdt.internal.core.ModuleSourcePathManager.<init>:()V
            astore 0 /* modulePathManager */
        start local 0 // org.eclipse.jdt.internal.core.ModuleSourcePathManager modulePathManager
         2: .line 2804
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            dup
            astore 1
            monitorenter
         3: .line 2805
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.modulePathManager:Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
            ifnonnull 5
         4: .line 2806
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* modulePathManager */
            putfield org.eclipse.jdt.internal.core.JavaModelManager.modulePathManager:Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
         5: .line 2804
      StackMap locals: org.eclipse.jdt.internal.core.ModuleSourcePathManager org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack:
            aload 1
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 1
            monitorexit
         8: athrow
        end local 0 // org.eclipse.jdt.internal.core.ModuleSourcePathManager modulePathManager
         9: .line 2810
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.modulePathManager:Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
            areturn
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            2    9     0  modulePathManager  Lorg/eclipse/jdt/internal/core/ModuleSourcePathManager;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any

  public org.eclipse.jdt.core.ICompilationUnit[] getWorkingCopies(org.eclipse.jdt.core.WorkingCopyOwner, boolean);
    descriptor: (Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        start local 2 // boolean addPrimary
         0: .line 2818
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 2819
            iload 2 /* addPrimary */
            ifeq 3
            aload 1 /* owner */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            if_acmpeq 3
         2: .line 2820
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.DefaultWorkingCopyOwner.PRIMARY:Lorg/eclipse/jdt/internal/core/DefaultWorkingCopyOwner;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getWorkingCopies:(Lorg/eclipse/jdt/core/WorkingCopyOwner;Z)[Lorg/eclipse/jdt/core/ICompilationUnit;
            goto 4
         3: .line 2821
      StackMap locals: java.util.HashMap
      StackMap stack:
            aconst_null
         4: .line 2819
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.ICompilationUnit[]
            astore 4 /* primaryWCs */
        start local 4 // org.eclipse.jdt.core.ICompilationUnit[] primaryWCs
         5: .line 2822
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perWorkingCopyInfos:Ljava/util/HashMap;
            aload 1 /* owner */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 5 /* workingCopyToInfos */
        start local 5 // java.util.Map workingCopyToInfos
         6: .line 2823
            aload 5 /* workingCopyToInfos */
            ifnonnull 8
            aload 4 /* primaryWCs */
            aload 3
            monitorexit
         7: areturn
         8: .line 2824
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit[] java.util.Map
      StackMap stack:
            aload 4 /* primaryWCs */
            ifnonnull 9
            iconst_0
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 4 /* primaryWCs */
            arraylength
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* primaryLength */
        start local 6 // int primaryLength
        11: .line 2825
            aload 5 /* workingCopyToInfos */
            invokeinterface java.util.Map.size:()I
            istore 7 /* size */
        start local 7 // int size
        12: .line 2826
            iload 6 /* primaryLength */
            iload 7 /* size */
            iadd
            anewarray org.eclipse.jdt.core.ICompilationUnit
            astore 8 /* result */
        start local 8 // org.eclipse.jdt.core.ICompilationUnit[] result
        13: .line 2827
            iconst_0
            istore 9 /* index */
        start local 9 // int index
        14: .line 2828
            aload 4 /* primaryWCs */
            ifnull 25
        15: .line 2829
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        16: goto 22
        17: .line 2830
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.WorkingCopyOwner int java.util.HashMap org.eclipse.jdt.core.ICompilationUnit[] java.util.Map int int org.eclipse.jdt.core.ICompilationUnit[] int int
      StackMap stack:
            aload 4 /* primaryWCs */
            iload 10 /* i */
            aaload
            astore 11 /* primaryWorkingCopy */
        start local 11 // org.eclipse.jdt.core.ICompilationUnit primaryWorkingCopy
        18: .line 2831
            new org.eclipse.jdt.internal.core.CompilationUnit
            dup
            aload 11 /* primaryWorkingCopy */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.PackageFragment
            aload 11 /* primaryWorkingCopy */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementName:()Ljava/lang/String;
            aload 1 /* owner */
            invokespecial org.eclipse.jdt.internal.core.CompilationUnit.<init>:(Lorg/eclipse/jdt/internal/core/PackageFragment;Ljava/lang/String;Lorg/eclipse/jdt/core/WorkingCopyOwner;)V
            astore 12 /* workingCopy */
        start local 12 // org.eclipse.jdt.core.ICompilationUnit workingCopy
        19: .line 2832
            aload 5 /* workingCopyToInfos */
            aload 12 /* workingCopy */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 21
        20: .line 2833
            aload 8 /* result */
            iload 9 /* index */
            iinc 9 /* index */ 1
            aload 11 /* primaryWorkingCopy */
            aastore
        end local 12 // org.eclipse.jdt.core.ICompilationUnit workingCopy
        end local 11 // org.eclipse.jdt.core.ICompilationUnit primaryWorkingCopy
        21: .line 2829
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* i */
            iload 6 /* primaryLength */
            if_icmplt 17
        end local 10 // int i
        23: .line 2835
            iload 9 /* index */
            iload 6 /* primaryLength */
            if_icmpeq 25
        24: .line 2836
            aload 8 /* result */
            iconst_0
            iload 9 /* index */
            iload 7 /* size */
            iadd
            anewarray org.eclipse.jdt.core.ICompilationUnit
            dup
            astore 8 /* result */
            iconst_0
            iload 9 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        25: .line 2838
      StackMap locals:
      StackMap stack:
            aload 5 /* workingCopyToInfos */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10 /* iterator */
        start local 10 // java.util.Iterator iterator
        26: .line 2839
            goto 28
        27: .line 2840
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* result */
            iload 9 /* index */
            iinc 9 /* index */ 1
            aload 10 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo.getWorkingCopy:()Lorg/eclipse/jdt/core/ICompilationUnit;
            aastore
        28: .line 2839
      StackMap locals:
      StackMap stack:
            aload 10 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        29: .line 2842
            aload 8 /* result */
            aload 3
            monitorexit
        30: areturn
        end local 10 // java.util.Iterator iterator
        end local 9 // int index
        end local 8 // org.eclipse.jdt.core.ICompilationUnit[] result
        end local 7 // int size
        end local 6 // int primaryLength
        end local 5 // java.util.Map workingCopyToInfos
        end local 4 // org.eclipse.jdt.core.ICompilationUnit[] primaryWCs
        31: .line 2818
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.WorkingCopyOwner int java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        32: athrow
        end local 2 // boolean addPrimary
        end local 1 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   33     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   33     1               owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            0   33     2          addPrimary  Z
            5   31     4          primaryWCs  [Lorg/eclipse/jdt/core/ICompilationUnit;
            6   31     5  workingCopyToInfos  Ljava/util/Map<Lorg/eclipse/jdt/internal/core/CompilationUnit;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;
           11   31     6       primaryLength  I
           12   31     7                size  I
           13   31     8              result  [Lorg/eclipse/jdt/core/ICompilationUnit;
           14   31     9               index  I
           16   23    10                   i  I
           18   21    11  primaryWorkingCopy  Lorg/eclipse/jdt/core/ICompilationUnit;
           19   21    12         workingCopy  Lorg/eclipse/jdt/core/ICompilationUnit;
           26   31    10            iterator  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/core/JavaModelManager$PerWorkingCopyInfo;>;
      Exception table:
        from    to  target  type
           1     7      31  any
           8    30      31  any
          31    32      31  any
    MethodParameters:
            Name  Flags
      owner       
      addPrimary  

  public org.eclipse.jdt.internal.core.search.JavaWorkspaceScope getWorkspaceScope();
    descriptor: ()Lorg/eclipse/jdt/internal/core/search/JavaWorkspaceScope;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2847
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.workspaceScope:Lorg/eclipse/jdt/internal/core/search/JavaWorkspaceScope;
            ifnonnull 2
         1: .line 2848
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.search.JavaWorkspaceScope
            dup
            invokespecial org.eclipse.jdt.internal.core.search.JavaWorkspaceScope.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.workspaceScope:Lorg/eclipse/jdt/internal/core/search/JavaWorkspaceScope;
         2: .line 2850
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.workspaceScope:Lorg/eclipse/jdt/internal/core/search/JavaWorkspaceScope;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public static boolean isJrt(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 2854
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            ldc "jrt-fs.jar"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public static boolean isJrt(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 2858
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* path */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.isJrt:(Lorg/eclipse/core/runtime/IPath;)Z
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  public void verifyArchiveContent(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 2863
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.isJrt:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 2
         1: .line 2864
            return
         2: .line 2866
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.throwExceptionIfArchiveInvalid:(Lorg/eclipse/core/runtime/IPath;)V
         3: .line 2868
            invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.isEnabled:()Z
            ifeq 22
         4: .line 2869
            invokestatic org.eclipse.jdt.internal.core.nd.java.JavaIndex.getIndex:()Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
            astore 2 /* index */
        start local 2 // org.eclipse.jdt.internal.core.nd.java.JavaIndex index
         5: .line 2870
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getLocalFile:(Lorg/eclipse/core/runtime/IPath;)Ljava/io/File;
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 3 /* location */
        start local 3 // java.lang.String location
         6: .line 2871
            aconst_null
            astore 4
            aconst_null
            astore 5
         7: aload 2 /* index */
            invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.getNd:()Lorg/eclipse/jdt/internal/core/nd/Nd;
            invokevirtual org.eclipse.jdt.internal.core.nd.Nd.acquireReadLock:()Lorg/eclipse/jdt/internal/core/nd/IReader;
            astore 6 /* reader */
        start local 6 // org.eclipse.jdt.internal.core.nd.IReader reader
         8: .line 2872
            aload 2 /* index */
            aload 3 /* location */
            invokevirtual java.lang.String.toCharArray:()[C
            invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.getResourceFile:([C)Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
            astore 7 /* resourceFile */
        start local 7 // org.eclipse.jdt.internal.core.nd.java.NdResourceFile resourceFile
         9: .line 2873
            aload 2 /* index */
            aload 7 /* resourceFile */
            invokevirtual org.eclipse.jdt.internal.core.nd.java.JavaIndex.isUpToDate:(Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;)Z
            ifeq 16
        10: .line 2876
            aload 7 /* resourceFile */
            invokevirtual org.eclipse.jdt.internal.core.nd.java.NdResourceFile.isCorruptedZipFile:()Z
            ifeq 14
        11: .line 2877
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_m1
        12: .line 2878
            getstatic org.eclipse.jdt.internal.core.util.Messages.status_IOException:Ljava/lang/String;
            new java.util.zip.ZipException
            dup
            invokespecial java.util.zip.ZipException.<init>:()V
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
        13: .line 2877
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        14: .line 2882
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.nd.java.JavaIndex java.lang.String java.lang.Throwable java.lang.Throwable org.eclipse.jdt.internal.core.nd.IReader org.eclipse.jdt.internal.core.nd.java.NdResourceFile
      StackMap stack:
            aload 6 /* reader */
            ifnull 15
            aload 6 /* reader */
            invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
        15: .line 2880
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.eclipse.jdt.internal.core.nd.java.NdResourceFile resourceFile
        16: .line 2882
      StackMap locals:
      StackMap stack:
            aload 6 /* reader */
            ifnull 22
            aload 6 /* reader */
            invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: astore 4
            aload 6 /* reader */
            ifnull 18
            aload 6 /* reader */
            invokeinterface org.eclipse.jdt.internal.core.nd.IReader.close:()V
        end local 6 // org.eclipse.jdt.internal.core.nd.IReader reader
      StackMap locals:
      StackMap stack:
        18: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 5
            aload 4
            ifnonnull 20
            aload 5
            astore 4
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 4
            aload 5
            if_acmpeq 21
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        21: aload 4
            athrow
        end local 3 // java.lang.String location
        end local 2 // org.eclipse.jdt.internal.core.nd.java.JavaIndex index
        22: .line 2885
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getZipFile:(Lorg/eclipse/core/runtime/IPath;)Ljava/util/zip/ZipFile;
            astore 2 /* file */
        start local 2 // java.util.zip.ZipFile file
        23: .line 2886
            aload 0 /* this */
            aload 2 /* file */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeZipFile:(Ljava/util/zip/ZipFile;)V
        24: .line 2887
            return
        end local 2 // java.util.zip.ZipFile file
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   25     1          path  Lorg/eclipse/core/runtime/IPath;
            5   22     2         index  Lorg/eclipse/jdt/internal/core/nd/java/JavaIndex;
            6   22     3      location  Ljava/lang/String;
            8   18     6        reader  Lorg/eclipse/jdt/internal/core/nd/IReader;
            9   16     7  resourceFile  Lorg/eclipse/jdt/internal/core/nd/java/NdResourceFile;
           23   25     2          file  Ljava/util/zip/ZipFile;
      Exception table:
        from    to  target  type
           8    14      17  any
           7    15      19  any
          16    19      19  any
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      path  

  public java.util.zip.ZipFile getZipFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/util/zip/ZipFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 2904
            aload 0 /* this */
            aload 1 /* path */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getZipFile:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/util/zip/ZipFile;
            areturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  path  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      path  

  public java.util.zip.ZipFile getZipFile(org.eclipse.core.runtime.IPath, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Z)Ljava/util/zip/ZipFile;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
        start local 2 // boolean checkInvalidArchiveCache
         0: .line 2917
            iload 2 /* checkInvalidArchiveCache */
            ifeq 2
         1: .line 2918
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.throwExceptionIfArchiveInvalid:(Lorg/eclipse/core/runtime/IPath;)V
         2: .line 2922
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.zipFiles:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
            dup
            astore 3 /* zipCache */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$ZipCache zipCache
         3: ifnull 7
         4: .line 2923
            aload 3 /* zipCache */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ZipCache.getCache:(Lorg/eclipse/core/runtime/IPath;)Ljava/util/zip/ZipFile;
            dup
            astore 4 /* zipFile */
        start local 4 // java.util.zip.ZipFile zipFile
         5: ifnull 7
         6: .line 2924
            aload 4 /* zipFile */
            areturn
        end local 4 // java.util.zip.ZipFile zipFile
         7: .line 2926
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
      StackMap stack:
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getLocalFile:(Lorg/eclipse/core/runtime/IPath;)Ljava/io/File;
            astore 5 /* localFile */
        start local 5 // java.io.File localFile
         8: .line 2929
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
            ifeq 10
         9: .line 2930
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") [JavaModelManager.getZipFile(IPath)] Creating ZipFile on "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* localFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 2932
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath int org.eclipse.jdt.internal.core.JavaModelManager$ZipCache top java.io.File
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.throwIoExceptionsInGetZipFile:Z
            ifeq 12
        11: .line 2933
            new java.io.IOException
            dup
            invokespecial java.io.IOException.<init>:()V
            athrow
        12: .line 2935
      StackMap locals:
      StackMap stack:
            new java.util.zip.ZipFile
            dup
            aload 5 /* localFile */
            invokespecial java.util.zip.ZipFile.<init>:(Ljava/io/File;)V
            astore 4 /* zipFile */
        start local 4 // java.util.zip.ZipFile zipFile
        13: .line 2936
            aload 3 /* zipCache */
            ifnull 15
        14: .line 2937
            aload 3 /* zipCache */
            aload 1 /* path */
            aload 4 /* zipFile */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ZipCache.setCache:(Lorg/eclipse/core/runtime/IPath;Ljava/util/zip/ZipFile;)V
        15: .line 2939
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath int org.eclipse.jdt.internal.core.JavaModelManager$ZipCache java.util.zip.ZipFile java.io.File
      StackMap stack:
            aload 4 /* zipFile */
        16: areturn
        end local 4 // java.util.zip.ZipFile zipFile
        17: .line 2940
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath int org.eclipse.jdt.internal.core.JavaModelManager$ZipCache top java.io.File
      StackMap stack: java.io.IOException
            astore 6 /* e */
        start local 6 // java.io.IOException e
        18: .line 2943
            aload 6 /* e */
            instanceof java.util.zip.ZipException
            ifeq 21
        19: .line 2944
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.BAD_FORMAT:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            astore 7 /* reason */
        start local 7 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
        20: .line 2945
            goto 25
        end local 7 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
      StackMap locals: java.io.IOException
      StackMap stack:
        21: aload 6 /* e */
            instanceof java.io.FileNotFoundException
            ifeq 24
        22: .line 2946
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.FILE_NOT_FOUND:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            astore 7 /* reason */
        start local 7 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
        23: .line 2947
            goto 25
        end local 7 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
        24: .line 2948
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.UNABLE_TO_READ:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            astore 7 /* reason */
        start local 7 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
        25: .line 2950
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            aload 7 /* reason */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.addInvalidArchive:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;)V
        26: .line 2951
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_m1
            getstatic org.eclipse.jdt.internal.core.util.Messages.status_IOException:Ljava/lang/String;
            aload 6 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 7 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity reason
        end local 6 // java.io.IOException e
        end local 5 // java.io.File localFile
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$ZipCache zipCache
        end local 2 // boolean checkInvalidArchiveCache
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   27     0                      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   27     1                      path  Lorg/eclipse/core/runtime/IPath;
            0   27     2  checkInvalidArchiveCache  Z
            3   27     3                  zipCache  Lorg/eclipse/jdt/internal/core/JavaModelManager$ZipCache;
            5    7     4                   zipFile  Ljava/util/zip/ZipFile;
           13   17     4                   zipFile  Ljava/util/zip/ZipFile;
            8   27     5                 localFile  Ljava/io/File;
           18   27     6                         e  Ljava/io/IOException;
           20   21     7                    reason  Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
           23   24     7                    reason  Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
           25   27     7                    reason  Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
      Exception table:
        from    to  target  type
           8    16      17  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                          Name  Flags
      path                      
      checkInvalidArchiveCache  

  public static java.io.File getLocalFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=5, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 2956
            aconst_null
            astore 1 /* localFile */
        start local 1 // java.io.File localFile
         1: .line 2957
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 2 /* root */
        start local 2 // org.eclipse.core.resources.IWorkspaceRoot root
         2: .line 2958
            aload 2 /* root */
            aload 0 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 3 /* file */
        start local 3 // org.eclipse.core.resources.IResource file
         3: .line 2959
            aload 3 /* file */
            ifnull 10
         4: .line 2962
            aload 3 /* file */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_1
            if_icmpne 6
            aload 3 /* file */
            invokeinterface org.eclipse.core.resources.IResource.getLocationURI:()Ljava/net/URI;
            dup
            astore 4 /* location */
        start local 4 // java.net.URI location
         5: ifnonnull 7
        end local 4 // java.net.URI location
         6: .line 2963
      StackMap locals: java.io.File org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IResource
      StackMap stack:
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_m1
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_notFound:Ljava/lang/String;
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        start local 4 // java.net.URI location
         7: .line 2965
      StackMap locals: java.net.URI
      StackMap stack:
            aload 4 /* location */
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.util.Util.toLocalFile:(Ljava/net/URI;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/io/File;
            astore 1 /* localFile */
         8: .line 2966
            aload 1 /* localFile */
            ifnonnull 11
         9: .line 2967
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_m1
            getstatic org.eclipse.jdt.internal.core.util.Messages.file_notFound:Ljava/lang/String;
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 4 // java.net.URI location
        10: .line 2970
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            astore 1 /* localFile */
        11: .line 2972
      StackMap locals:
      StackMap stack:
            aload 1 /* localFile */
            areturn
        end local 3 // org.eclipse.core.resources.IResource file
        end local 2 // org.eclipse.core.resources.IWorkspaceRoot root
        end local 1 // java.io.File localFile
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       path  Lorg/eclipse/core/runtime/IPath;
            1   12     1  localFile  Ljava/io/File;
            2   12     2       root  Lorg/eclipse/core/resources/IWorkspaceRoot;
            3   12     3       file  Lorg/eclipse/core/resources/IResource;
            5    6     4   location  Ljava/net/URI;
            7   10     4   location  Ljava/net/URI;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      path  

  private void throwExceptionIfArchiveInvalid(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 2976
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getArchiveValidity:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            astore 2 /* validity */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity validity
         1: .line 2978
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.$SWITCH_TABLE$org$eclipse$jdt$internal$core$JavaModelManager$ArchiveValidity:()[I
            aload 2 /* validity */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.ordinal:()I
            iaload
            tableswitch { // 1 - 3
                    1: 2
                    2: 6
                    3: 4
              default: 8
          }
         2: .line 2979
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity
      StackMap stack:
            new java.util.zip.ZipException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Bad format in archive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            astore 3 /* reason */
        start local 3 // java.io.IOException reason
         3: goto 9
        end local 3 // java.io.IOException reason
         4: .line 2980
      StackMap locals:
      StackMap stack:
            new java.io.FileNotFoundException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Archive not found for path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            astore 3 /* reason */
        start local 3 // java.io.IOException reason
         5: goto 9
        end local 3 // java.io.IOException reason
         6: .line 2981
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unable to read archive: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            astore 3 /* reason */
        start local 3 // java.io.IOException reason
         7: goto 9
        end local 3 // java.io.IOException reason
         8: .line 2982
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* reason */
        start local 3 // java.io.IOException reason
         9: .line 2984
      StackMap locals: java.io.IOException
      StackMap stack:
            aload 3 /* reason */
            ifnull 11
        10: .line 2985
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_m1
            getstatic org.eclipse.jdt.internal.core.util.Messages.status_IOException:Ljava/lang/String;
            aload 3 /* reason */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        11: .line 2987
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.IOException reason
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity validity
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   12     1      path  Lorg/eclipse/core/runtime/IPath;
            1   12     2  validity  Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            3    4     3    reason  Ljava/io/IOException;
            5    6     3    reason  Ljava/io/IOException;
            7    8     3    reason  Ljava/io/IOException;
            9   12     3    reason  Ljava/io/IOException;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      path  

  public boolean hasTemporaryCache();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 2993
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  private org.eclipse.jdt.core.IClasspathContainer initializeAllContainers(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject javaProjectToInit
        start local 2 // org.eclipse.core.runtime.IPath containerToInit
         0: .line 3001
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 2
         1: .line 3002
            aload 0 /* this */
            aload 1 /* javaProjectToInit */
            aload 2 /* containerToInit */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_batching_containers_initialization:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
         2: .line 3005
      StackMap locals:
      StackMap stack:
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* allContainerPaths */
        start local 3 // java.util.HashMap allContainerPaths
         3: .line 3006
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProjects:()[Lorg/eclipse/core/resources/IProject;
            astore 4 /* projects */
        start local 4 // org.eclipse.core.resources.IProject[] projects
         4: .line 3007
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: aload 4 /* projects */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         6: goto 26
         7: .line 3008
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int int
      StackMap stack:
            aload 4 /* projects */
            iload 5 /* i */
            aaload
            astore 7 /* project */
        start local 7 // org.eclipse.core.resources.IProject project
         8: .line 3009
            aload 7 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 9
            goto 25
         9: .line 3010
      StackMap locals: org.eclipse.core.resources.IProject
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaProject
            dup
            aload 7 /* project */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            invokespecial org.eclipse.jdt.internal.core.JavaProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaElement;)V
            astore 8 /* javaProject */
        start local 8 // org.eclipse.jdt.core.IJavaProject javaProject
        10: .line 3011
            aload 3 /* allContainerPaths */
            aload 8 /* javaProject */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 9 /* paths */
        start local 9 // java.util.Set paths
        11: .line 3012
            aload 8 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 10 /* rawClasspath */
        start local 10 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        12: .line 3013
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        13: aload 10 /* rawClasspath */
            arraylength
            istore 12 /* length2 */
        start local 12 // int length2
        14: goto 24
        15: .line 3014
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int int org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject java.util.Set org.eclipse.jdt.core.IClasspathEntry[] int int
      StackMap stack:
            aload 10 /* rawClasspath */
            iload 11 /* j */
            aaload
            astore 13 /* entry */
        start local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        16: .line 3015
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 14 /* path */
        start local 14 // org.eclipse.core.runtime.IPath path
        17: .line 3016
            aload 13 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_5
            if_icmpne 23
        18: .line 3017
            aload 0 /* this */
            aload 8 /* javaProject */
            aload 14 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerGet:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            ifnonnull 23
        19: .line 3018
            aload 9 /* paths */
            ifnonnull 22
        20: .line 3019
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* paths */
        21: .line 3020
            aload 3 /* allContainerPaths */
            aload 8 /* javaProject */
            aload 9 /* paths */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 3022
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 9 /* paths */
            aload 14 /* path */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // org.eclipse.core.runtime.IPath path
        end local 13 // org.eclipse.jdt.core.IClasspathEntry entry
        23: .line 3013
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        24: iload 11 /* j */
            iload 12 /* length2 */
            if_icmplt 15
        end local 12 // int length2
        end local 11 // int j
        end local 10 // org.eclipse.jdt.core.IClasspathEntry[] rawClasspath
        end local 9 // java.util.Set paths
        end local 8 // org.eclipse.jdt.core.IJavaProject javaProject
        end local 7 // org.eclipse.core.resources.IProject project
        25: .line 3007
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 7
        end local 6 // int length
        end local 5 // int i
        27: .line 3038
            aload 1 /* javaProjectToInit */
            ifnull 33
        28: .line 3039
            aload 3 /* allContainerPaths */
            aload 1 /* javaProjectToInit */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            astore 5 /* containerPaths */
        start local 5 // java.util.Set containerPaths
        29: .line 3040
            aload 5 /* containerPaths */
            ifnonnull 32
        30: .line 3041
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* containerPaths */
        31: .line 3042
            aload 3 /* allContainerPaths */
            aload 1 /* javaProjectToInit */
            aload 5 /* containerPaths */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 3044
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] java.util.Set
      StackMap stack:
            aload 5 /* containerPaths */
            aload 2 /* containerToInit */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.util.Set containerPaths
        33: .line 3049
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* ok */
        start local 5 // boolean ok
        34: .line 3054
            new org.eclipse.jdt.internal.core.JavaModelManager$10
            dup
            aload 0 /* this */
            aload 3 /* allContainerPaths */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$10.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Ljava/util/HashMap;)V
        35: .line 3053
            astore 6 /* runnable */
        start local 6 // org.eclipse.core.resources.IWorkspaceRunnable runnable
        36: .line 3136
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializationsProgress:Lorg/eclipse/jdt/internal/core/BatchInitializationMonitor;
            astore 7 /* monitor */
        start local 7 // org.eclipse.core.runtime.IProgressMonitor monitor
        37: .line 3137
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            astore 8 /* workspace */
        start local 8 // org.eclipse.core.resources.IWorkspace workspace
        38: .line 3138
            aload 8 /* workspace */
            invokeinterface org.eclipse.core.resources.IWorkspace.isTreeLocked:()Z
            ifeq 40
        39: .line 3139
            aload 6 /* runnable */
            aload 7 /* monitor */
            invokeinterface org.eclipse.core.resources.IWorkspaceRunnable.run:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
            goto 46
        40: .line 3141
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int org.eclipse.core.resources.IWorkspaceRunnable org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.resources.IWorkspace
      StackMap stack:
            aload 8 /* workspace */
        41: .line 3142
            aload 6 /* runnable */
        42: .line 3143
            aconst_null
        43: .line 3144
            iconst_1
        44: .line 3145
            aload 7 /* monitor */
        45: .line 3141
            invokeinterface org.eclipse.core.resources.IWorkspace.run:(Lorg/eclipse/core/resources/IWorkspaceRunnable;Lorg/eclipse/core/runtime/jobs/ISchedulingRule;ILorg/eclipse/core/runtime/IProgressMonitor;)V
        46: .line 3146
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* ok */
        end local 8 // org.eclipse.core.resources.IWorkspace workspace
        end local 7 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 6 // org.eclipse.core.resources.IWorkspaceRunnable runnable
        47: .line 3147
            goto 56
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int
      StackMap stack: org.eclipse.core.runtime.CoreException
        48: astore 6 /* e */
        start local 6 // org.eclipse.core.runtime.CoreException e
        49: .line 3149
            aload 6 /* e */
            ldc "Exception while initializing all containers"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 6 // org.eclipse.core.runtime.CoreException e
        50: .line 3151
            iload 5 /* ok */
            ifne 58
        51: .line 3155
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
            goto 58
        52: .line 3150
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        53: .line 3151
            iload 5 /* ok */
            ifne 55
        54: .line 3155
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        55: .line 3157
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int top top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        56: .line 3151
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.util.HashMap org.eclipse.core.resources.IProject[] int
      StackMap stack:
            iload 5 /* ok */
            ifne 58
        57: .line 3155
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.containerInitializationInProgress:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
        58: .line 3159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* javaProjectToInit */
            aload 2 /* containerToInit */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerGet:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            areturn
        end local 5 // boolean ok
        end local 4 // org.eclipse.core.resources.IProject[] projects
        end local 3 // java.util.HashMap allContainerPaths
        end local 2 // org.eclipse.core.runtime.IPath containerToInit
        end local 1 // org.eclipse.jdt.core.IJavaProject javaProjectToInit
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   59     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   59     1  javaProjectToInit  Lorg/eclipse/jdt/core/IJavaProject;
            0   59     2    containerToInit  Lorg/eclipse/core/runtime/IPath;
            3   59     3  allContainerPaths  Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;>;
            4   59     4           projects  [Lorg/eclipse/core/resources/IProject;
            5   27     5                  i  I
            6   27     6             length  I
            8   25     7            project  Lorg/eclipse/core/resources/IProject;
           10   25     8        javaProject  Lorg/eclipse/jdt/core/IJavaProject;
           11   25     9              paths  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
           12   25    10       rawClasspath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           13   25    11                  j  I
           14   25    12            length2  I
           16   23    13              entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           17   23    14               path  Lorg/eclipse/core/runtime/IPath;
           29   33     5     containerPaths  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
           34   59     5                 ok  Z
           36   47     6           runnable  Lorg/eclipse/core/resources/IWorkspaceRunnable;
           37   47     7            monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
           38   47     8          workspace  Lorg/eclipse/core/resources/IWorkspace;
           49   50     6                  e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
          34    47      48  Class org.eclipse.core.runtime.CoreException
          34    50      52  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                   Name  Flags
      javaProjectToInit  
      containerToInit    

  private void verbose_batching_containers_initialization(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject javaProjectToInit
        start local 2 // org.eclipse.core.runtime.IPath containerToInit
         0: .line 3164
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - batching containers initialization\n\tproject to init: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 3165
            aload 1 /* javaProjectToInit */
            ifnonnull 2
            ldc "null"
            goto 3
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
         2: aload 1 /* javaProjectToInit */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath
      StackMap stack: java.lang.StringBuilder java.lang.String
         3: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 3166
            ldc "\tcontainer path to init: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerToInit */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 3164
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 3163
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         7: .line 3167
            return
        end local 2 // org.eclipse.core.runtime.IPath containerToInit
        end local 1 // org.eclipse.jdt.core.IJavaProject javaProjectToInit
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    8     1  javaProjectToInit  Lorg/eclipse/jdt/core/IJavaProject;
            0    8     2    containerToInit  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                   Name  Flags
      javaProjectToInit  
      containerToInit    

  org.eclipse.jdt.core.IClasspathContainer initializeContainer(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 3171
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.batchContainerInitializationsProgress:Lorg/eclipse/jdt/internal/core/BatchInitializationMonitor;
            astore 3 /* monitor */
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         1: .line 3172
            aload 3 /* monitor */
            ifnull 3
            aload 3 /* monitor */
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.isCanceled:()Z
            ifeq 3
         2: .line 3173
            new org.eclipse.core.runtime.OperationCanceledException
            dup
            invokespecial org.eclipse.core.runtime.OperationCanceledException.<init>:()V
            athrow
         3: .line 3175
      StackMap locals: org.eclipse.core.runtime.IProgressMonitor
      StackMap stack:
            aconst_null
            astore 4 /* container */
        start local 4 // org.eclipse.jdt.core.IClasspathContainer container
         4: .line 3176
            aload 2 /* containerPath */
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer:(Ljava/lang/String;)Lorg/eclipse/jdt/core/ClasspathContainerInitializer;
            astore 5 /* initializer */
        start local 5 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
         5: .line 3177
            aload 5 /* initializer */
            ifnull 64
         6: .line 3178
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifeq 8
         7: .line 3179
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_triggering_container_initialization:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
         8: .line 3180
      StackMap locals: org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.ClasspathContainerInitializer
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 10
         9: .line 3181
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_triggering_container_initialization_invocation_trace:()V
        10: .line 3182
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* stats */
        start local 6 // org.eclipse.core.runtime.PerformanceStats stats
        11: .line 3183
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.PERF_CONTAINER_INITIALIZER:Z
            ifeq 14
        12: .line 3184
            ldc "org.eclipse.jdt.core/perf/containerinitializer"
            aload 0 /* this */
            invokestatic org.eclipse.core.runtime.PerformanceStats.getStats:(Ljava/lang/String;Ljava/lang/Object;)Lorg/eclipse/core/runtime/PerformanceStats;
            astore 6 /* stats */
        13: .line 3185
            aload 6 /* stats */
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.core.runtime.PerformanceStats.startRun:(Ljava/lang/String;)V
        14: .line 3187
      StackMap locals: org.eclipse.core.runtime.PerformanceStats
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CONTAINER_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/jdt/core/IClasspathContainer;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        15: .line 3188
            iconst_0
            istore 7 /* ok */
        start local 7 // boolean ok
        16: .line 3190
            aload 3 /* monitor */
            ifnull 18
        17: .line 3191
            aload 3 /* monitor */
            getstatic org.eclipse.jdt.internal.core.util.Messages.javamodel_configuring:Ljava/lang/String;
            aload 5 /* initializer */
            aload 2 /* containerPath */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.core.ClasspathContainerInitializer.getDescription:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.subTask:(Ljava/lang/String;)V
        18: .line 3195
      StackMap locals: int
      StackMap stack:
            aload 5 /* initializer */
            aload 2 /* containerPath */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.core.ClasspathContainerInitializer.initialize:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)V
        19: .line 3197
            aload 3 /* monitor */
            ifnull 21
        20: .line 3198
            aload 3 /* monitor */
            ldc ""
            invokeinterface org.eclipse.core.runtime.IProgressMonitor.subTask:(Ljava/lang/String;)V
        21: .line 3201
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerBeingInitializedGet:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 4 /* container */
        22: .line 3202
            aload 4 /* container */
            ifnonnull 37
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerGet:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IClasspathContainer;
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CONTAINER_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/jdt/core/IClasspathContainer;
            if_acmpne 37
        23: .line 3204
            aload 5 /* initializer */
            aload 2 /* containerPath */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.core.ClasspathContainerInitializer.getFailureContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
            astore 4 /* container */
        24: .line 3205
            aload 4 /* container */
            ifnonnull 34
        25: .line 3206
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 26
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 27
        26: .line 3207
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_container_null_failure_container:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
        27: .line 3226
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.PERF_CONTAINER_INITIALIZER:Z
            ifeq 29
        28: .line 3227
            aload 6 /* stats */
            invokevirtual org.eclipse.core.runtime.PerformanceStats.endRun:()V
        29: .line 3229
      StackMap locals:
      StackMap stack:
            iload 7 /* ok */
            ifne 33
        30: .line 3232
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerRemoveInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
        31: .line 3233
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 32
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 33
        32: .line 3234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 4 /* container */
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_container_initialization_failed:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
        33: .line 3208
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        34: .line 3210
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 35
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 36
        35: .line 3211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_container_using_failure_container:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
        36: .line 3212
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 4 /* container */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        37: .line 3214
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* ok */
        38: .line 3215
            goto 55
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        39: astore 8 /* e */
        start local 8 // org.eclipse.core.runtime.CoreException e
        40: .line 3216
            aload 8 /* e */
            instanceof org.eclipse.jdt.core.JavaModelException
            ifeq 42
        41: .line 3217
            aload 8 /* e */
            checkcast org.eclipse.jdt.core.JavaModelException
            athrow
        42: .line 3219
      StackMap locals: org.eclipse.core.runtime.CoreException
      StackMap stack:
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 8 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 8 // org.eclipse.core.runtime.CoreException e
        43: .line 3221
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.ClasspathContainerInitializer org.eclipse.core.runtime.PerformanceStats int
      StackMap stack: java.lang.Throwable
            astore 8 /* e */
        start local 8 // java.lang.Throwable e
        44: .line 3222
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 45
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 46
        45: .line 3223
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 8 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        46: .line 3224
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            athrow
        end local 8 // java.lang.Throwable e
        47: .line 3225
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.ClasspathContainerInitializer org.eclipse.core.runtime.PerformanceStats int
      StackMap stack: java.lang.Throwable
            astore 9
        48: .line 3226
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.PERF_CONTAINER_INITIALIZER:Z
            ifeq 50
        49: .line 3227
            aload 6 /* stats */
            invokevirtual org.eclipse.core.runtime.PerformanceStats.endRun:()V
        50: .line 3229
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.ClasspathContainerInitializer org.eclipse.core.runtime.PerformanceStats int top java.lang.Throwable
      StackMap stack:
            iload 7 /* ok */
            ifne 54
        51: .line 3232
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerRemoveInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
        52: .line 3233
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 53
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 54
        53: .line 3234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 4 /* container */
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_container_initialization_failed:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
        54: .line 3236
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        55: .line 3226
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.core.IClasspathContainer org.eclipse.jdt.core.ClasspathContainerInitializer org.eclipse.core.runtime.PerformanceStats int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.PERF_CONTAINER_INITIALIZER:Z
            ifeq 57
        56: .line 3227
            aload 6 /* stats */
            invokevirtual org.eclipse.core.runtime.PerformanceStats.endRun:()V
        57: .line 3229
      StackMap locals:
      StackMap stack:
            iload 7 /* ok */
            ifne 61
        58: .line 3232
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerRemoveInitializationInProgress:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
        59: .line 3233
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE:Z
            ifne 60
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 61
        60: .line 3234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 4 /* container */
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_container_initialization_failed:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
        61: .line 3237
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifeq 69
        62: .line 3238
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            aload 4 /* container */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_container_value_after_initialization:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        end local 7 // boolean ok
        end local 6 // org.eclipse.core.runtime.PerformanceStats stats
        63: .line 3239
            goto 69
        64: .line 3241
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaModelManager$11
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$11.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
        65: .line 3246
            aload 2 /* containerPath */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$11.getFailureContainer:(Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/IClasspathContainer;
        66: .line 3241
            astore 4 /* container */
        67: .line 3247
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_ADVANCED:Z
            ifne 68
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_RESOLVE_VERBOSE_FAILURE:Z
            ifeq 69
        68: .line 3248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            aload 2 /* containerPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.verbose_no_container_initializer_found:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
        69: .line 3250
      StackMap locals:
      StackMap stack:
            aload 4 /* container */
            areturn
        end local 5 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
        end local 4 // org.eclipse.jdt.core.IClasspathContainer container
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   70     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   70     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   70     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            1   70     3        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            4   70     4      container  Lorg/eclipse/jdt/core/IClasspathContainer;
            5   70     5    initializer  Lorg/eclipse/jdt/core/ClasspathContainerInitializer;
           11   63     6          stats  Lorg/eclipse/core/runtime/PerformanceStats;
           16   63     7             ok  Z
           40   43     8              e  Lorg/eclipse/core/runtime/CoreException;
           44   47     8              e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          16    27      39  Class org.eclipse.core.runtime.CoreException
          34    38      39  Class org.eclipse.core.runtime.CoreException
          16    27      43  Class java.lang.RuntimeException
          34    38      43  Class java.lang.RuntimeException
          16    27      43  Class java.lang.Error
          34    38      43  Class java.lang.Error
          16    27      47  any
          34    47      47  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  private void verbose_no_container_initializer_found(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
         0: .line 3255
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - no initializer found\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 3256
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 3257
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         3: .line 3255
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 3254
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         5: .line 3258
            return
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0    6     2  containerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
               Name  Flags
      project        
      containerPath  

  private void verbose_container_value_after_initialization(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.IClasspathContainer container
         0: .line 3261
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuffer buffer
         1: .line 3262
            aload 4 /* buffer */
            ldc "CPContainer INIT - after resolution\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 3263
            aload 4 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 3264
            aload 4 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "\tcontainer path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 3265
            aload 3 /* container */
            ifnull 15
         5: .line 3266
            aload 4 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "\tcontainer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getDescription:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " {\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 3267
            aload 3 /* container */
            invokeinterface org.eclipse.jdt.core.IClasspathContainer.getClasspathEntries:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 5 /* entries */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] entries
         7: .line 3268
            aload 5 /* entries */
            ifnull 13
         8: .line 3269
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         9: goto 12
        10: .line 3270
      StackMap locals: java.lang.StringBuffer org.eclipse.jdt.core.IClasspathEntry[] int
      StackMap stack:
            aload 4 /* buffer */
            new java.lang.StringBuilder
            dup
            ldc "\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* entries */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 3269
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 5 /* entries */
            arraylength
            if_icmplt 10
        end local 6 // int i
        13: .line 3273
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            ldc "\t}"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] entries
        14: .line 3274
            goto 16
        15: .line 3275
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            ldc "\tcontainer: {unbound}"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 3277
      StackMap locals:
      StackMap stack:
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        17: .line 3278
            return
        end local 4 // java.lang.StringBuffer buffer
        end local 3 // org.eclipse.jdt.core.IClasspathContainer container
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   18     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   18     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0   18     3      container  Lorg/eclipse/jdt/core/IClasspathContainer;
            1   18     4         buffer  Ljava/lang/StringBuffer;
            7   14     5        entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            9   13     6              i  I
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      container      

  private void verbose_container_initialization_failed(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.IClasspathContainer, org.eclipse.jdt.core.ClasspathContainerInitializer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.IClasspathContainer container
        start local 4 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
         0: .line 3281
            aload 3 /* container */
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CONTAINER_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/jdt/core/IClasspathContainer;
            if_acmpne 8
         1: .line 3283
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - FAILED (initializer did not initialize container)\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 3284
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 3285
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         4: .line 3286
            ldc "\tinitializer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* initializer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         5: .line 3283
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 3282
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         7: .line 3288
            goto 14
         8: .line 3290
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - FAILED (see exception above)\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 3291
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        10: .line 3292
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        11: .line 3293
            ldc "\tinitializer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* initializer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        12: .line 3290
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 3289
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        14: .line 3295
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
        end local 3 // org.eclipse.jdt.core.IClasspathContainer container
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   15     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   15     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0   15     3      container  Lorg/eclipse/jdt/core/IClasspathContainer;
            0   15     4    initializer  Lorg/eclipse/jdt/core/ClasspathContainerInitializer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      container      
      initializer    

  private void verbose_container_null_failure_container(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.ClasspathContainerInitializer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
         0: .line 3299
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - FAILED (and failure container is null)\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 3300
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 3301
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 3302
            ldc "\tinitializer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* initializer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 3299
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 3298
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         6: .line 3303
            return
        end local 3 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0    7     3    initializer  Lorg/eclipse/jdt/core/ClasspathContainerInitializer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      initializer    

  private void verbose_container_using_failure_container(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.ClasspathContainerInitializer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
         0: .line 3307
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - FAILED (using failure container)\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 3308
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 3309
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 3310
            ldc "\tinitializer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* initializer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 3307
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 3306
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         6: .line 3311
            return
        end local 3 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0    7     3    initializer  Lorg/eclipse/jdt/core/ClasspathContainerInitializer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      initializer    

  private void verbose_triggering_container_initialization(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, org.eclipse.jdt.core.ClasspathContainerInitializer);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/ClasspathContainerInitializer;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.core.runtime.IPath containerPath
        start local 3 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
         0: .line 3315
            new java.lang.StringBuilder
            dup
            ldc "CPContainer INIT - triggering initialization\n\tproject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 3316
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         2: .line 3317
            ldc "\tcontainer path: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* containerPath */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 3318
            ldc "\tinitializer: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* initializer */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         4: .line 3315
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 3314
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         6: .line 3319
            return
        end local 3 // org.eclipse.jdt.core.ClasspathContainerInitializer initializer
        end local 2 // org.eclipse.core.runtime.IPath containerPath
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0    7     2  containerPath  Lorg/eclipse/core/runtime/IPath;
            0    7     3    initializer  Lorg/eclipse/jdt/core/ClasspathContainerInitializer;
    MethodParameters:
               Name  Flags
      project        
      containerPath  
      initializer    

  private void verbose_triggering_container_initialization_invocation_trace();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 3323
            ldc "CPContainer INIT - triggering initialization\n\tinvocation trace:"
         1: .line 3322
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         2: .line 3325
            new java.lang.Exception
            dup
            ldc "<Fake exception>"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
         3: .line 3326
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public void initializePreferences();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 3334
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aastore
         1: .line 3335
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_1
            getstatic org.eclipse.core.runtime.preferences.DefaultScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aastore
         2: .line 3338
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$12
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$12.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.instanceNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
         3: .line 3351
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            aaload
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.instanceNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
         4: .line 3352
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            aaload
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener.<init>:()V
            dup_x1
            putfield org.eclipse.jdt.internal.core.JavaModelManager.instancePreferencesListener:Lorg/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addPreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
         5: .line 3355
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$13
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$13.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.defaultNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
         6: .line 3367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_1
            aaload
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.defaultNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
         7: .line 3368
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public synchronized char[] intern(char[]);
    descriptor: ([C)[C
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // char[] array
         0: .line 3371
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.charArraySymbols:Lorg/eclipse/jdt/internal/core/util/WeakHashSetOfCharArray;
            aload 1 /* array */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSetOfCharArray.add:([C)[C
            areturn
        end local 1 // char[] array
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  array  [C
    MethodParameters:
       Name  Flags
      array  

  public synchronized java.lang.String intern(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String s
         0: .line 3375
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.stringSymbols:Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.add:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String s
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     

  void touchProjects(org.eclipse.core.resources.IProject[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/core/resources/IProject;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject[] projectsToTouch
        start local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
         0: .line 3392
            new org.eclipse.jdt.internal.core.JavaModelManager$14
            dup
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.util.Messages.synchronizing_projects_job:Ljava/lang/String;
            aload 1 /* projectsToTouch */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$14.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Ljava/lang/String;[Lorg/eclipse/core/resources/IProject;)V
            astore 3 /* touchJob */
        start local 3 // org.eclipse.core.resources.WorkspaceJob touchJob
         1: .line 3412
            aload 3 /* touchJob */
            invokevirtual org.eclipse.core.resources.WorkspaceJob.schedule:()V
         2: .line 3413
            return
        end local 3 // org.eclipse.core.resources.WorkspaceJob touchJob
        end local 2 // org.eclipse.core.runtime.IProgressMonitor progressMonitor
        end local 1 // org.eclipse.core.resources.IProject[] projectsToTouch
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1  projectsToTouch  [Lorg/eclipse/core/resources/IProject;
            0    3     2  progressMonitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    3     3         touchJob  Lorg/eclipse/core/resources/WorkspaceJob;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      projectsToTouch  final
      progressMonitor  

  private java.util.Set<org.eclipse.jdt.core.IJavaProject> getClasspathBeingResolved();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 3416
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.classpathsBeingResolved:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 1 /* result */
        start local 1 // java.util.Set result
         1: .line 3417
            aload 1 /* result */
            ifnonnull 4
         2: .line 3418
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* result */
         3: .line 3419
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.classpathsBeingResolved:Ljava/lang/ThreadLocal;
            aload 1 /* result */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 3421
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.Set result
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1    5     1  result  Ljava/util/Set<Lorg/eclipse/jdt/core/IJavaProject;>;
    Signature: ()Ljava/util/Set<Lorg/eclipse/jdt/core/IJavaProject;>;

  public boolean isClasspathBeingResolved(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 3425
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getClasspathBeingResolved:()Ljava/util/Set;
            aload 1 /* project */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  private boolean isDeprecatedOption(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String optionName
         0: .line 3432
            ldc "org.eclipse.jdt.core.compiler.problem.invalidImport"
            aload 1 /* optionName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         1: .line 3433
            ldc "org.eclipse.jdt.core.compiler.problem.unreachableCode"
            aload 1 /* optionName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 3
         2: .line 3432
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    4     1  optionName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      optionName  

  public boolean isNonChainingJar(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3437
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity getArchiveValidity(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3442
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchivesMutex:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 3443
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchives:Ljava/util/Map;
            aload 1 /* path */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo
            astore 2 /* invalidArchiveInfo */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo invalidArchiveInfo
         2: .line 3442
            aload 3
            monitorexit
         3: goto 6
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo invalidArchiveInfo
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath top java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo invalidArchiveInfo
         6: .line 3445
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo
      StackMap stack:
            aload 2 /* invalidArchiveInfo */
            ifnonnull 8
         7: .line 3446
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.VALID:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            areturn
         8: .line 3447
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* now */
        start local 3 // long now
         9: .line 3451
            lload 3 /* now */
            aload 2 /* invalidArchiveInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo.evictionTimestamp:J
            lcmp
            ifle 15
        10: .line 3453
            aload 0 /* this */
            aload 1 /* path */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getZipFile:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/util/zip/ZipFile;
            pop
        11: .line 3454
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.removeFromInvalidArchiveCache:(Lorg/eclipse/core/runtime/IPath;)V
        12: .line 3455
            goto 14
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo long
      StackMap stack: org.eclipse.core.runtime.CoreException
        13: pop
        14: .line 3459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getArchiveValidity:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            areturn
        15: .line 3461
      StackMap locals:
      StackMap stack:
            aload 2 /* invalidArchiveInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo.reason:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            areturn
        end local 3 // long now
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo invalidArchiveInfo
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   16     1                path  Lorg/eclipse/core/runtime/IPath;
            2    4     2  invalidArchiveInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$InvalidArchiveInfo;
            6   16     2  invalidArchiveInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$InvalidArchiveInfo;
            9   16     3                 now  J
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
          10    12      13  Class org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      path  

  public void removeFromInvalidArchiveCache(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3465
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchivesMutex:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 3466
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchives:Ljava/util/Map;
            aload 1 /* path */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 13
         2: .line 3467
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_INVALID_ARCHIVES:Z
            ifeq 4
         3: .line 3468
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Invalid JAR cache: removed "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 3472
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            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;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath java.lang.Object top int int org.eclipse.jdt.core.IJavaProject[]
      StackMap stack:
         5: aload 6
            iload 4
            aaload
            astore 3 /* project */
        start local 3 // org.eclipse.jdt.core.IJavaProject project
         6: .line 3473
            aload 3 /* project */
            aload 1 /* path */
            invokeinterface org.eclipse.jdt.core.IJavaProject.findPackageFragmentRoot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            ifnull 8
         7: .line 3474
            aload 3 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.resetCaches:()V
        end local 3 // org.eclipse.jdt.core.IJavaProject project
         8: .line 3472
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 5
        10: .line 3477
            goto 13
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.IPath java.lang.Object
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        11: astore 3 /* e */
        start local 3 // org.eclipse.jdt.core.JavaModelException e
        12: .line 3478
            aload 3 /* e */
            ldc "Unable to retrieve the Java model."
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 3 // org.eclipse.jdt.core.JavaModelException e
        13: .line 3465
      StackMap locals:
      StackMap stack:
            aload 2
            monitorexit
        14: goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 3482
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   18     1     path  Lorg/eclipse/core/runtime/IPath;
            6    8     3  project  Lorg/eclipse/jdt/core/IJavaProject;
           12   13     3        e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           4    10      11  Class org.eclipse.jdt.core.JavaModelException
           1    14      15  any
          15    16      15  any
    MethodParameters:
      Name  Flags
      path  

  public boolean isExternalFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3489
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public void clearExternalFileState(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3496
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            ifnull 2
         1: .line 3497
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 3499
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public void resetExternalFilesCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 3505
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            ifnull 2
         1: .line 3506
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         2: .line 3508
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public boolean isAssumedExternalFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3517
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
            ifnonnull 2
         1: .line 3518
            iconst_0
            ireturn
         2: .line 3520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public void addAssumedExternalFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath path
         0: .line 3527
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
            aload 1 /* path */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 3528
            return
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      path  

  public void setClasspathBeingResolved(org.eclipse.jdt.core.IJavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // boolean classpathIsResolved
         0: .line 3531
            iload 2 /* classpathIsResolved */
            ifeq 3
         1: .line 3532
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getClasspathBeingResolved:()Ljava/util/Set;
            aload 1 /* project */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 3533
            goto 4
         3: .line 3534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getClasspathBeingResolved:()Ljava/util/Set;
            aload 1 /* project */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         4: .line 3536
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean classpathIsResolved
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    5     0                 this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    5     1              project  Lorg/eclipse/jdt/core/IJavaProject;
            0    5     2  classpathIsResolved  Z
    MethodParameters:
                     Name  Flags
      project              
      classpathIsResolved  

  private java.util.Set<org.eclipse.core.runtime.IPath> loadClasspathListCache(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String cacheName
         0: .line 3539
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* pathCache */
        start local 2 // java.util.Set pathCache
         1: .line 3540
            aload 0 /* this */
            aload 1 /* cacheName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getClasspathListFile:(Ljava/lang/String;)Ljava/io/File;
            astore 3 /* cacheFile */
        start local 3 // java.io.File cacheFile
         2: .line 3541
            aconst_null
            astore 4 /* in */
        start local 4 // java.io.DataInputStream in
         3: .line 3543
            new java.io.DataInputStream
            dup
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 3 /* cacheFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
         4: .line 3544
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 5 /* size */
        start local 5 // int size
         5: .line 3545
            goto 8
         6: .line 3546
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.util.Set java.io.File java.io.DataInputStream int
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 6 /* path */
        start local 6 // java.lang.String path
         7: .line 3547
            aload 2 /* pathCache */
            aload 6 /* path */
            invokestatic org.eclipse.core.runtime.Path.fromPortableString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.lang.String path
         8: .line 3545
      StackMap locals:
      StackMap stack:
            iload 5 /* size */
            iinc 5 /* size */ -1
            ifgt 6
        end local 5 // int size
         9: .line 3549
            goto 23
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.util.Set java.io.File java.io.DataInputStream
      StackMap stack: java.io.IOException
        10: astore 5 /* e */
        start local 5 // java.io.IOException e
        11: .line 3550
            aload 3 /* cacheFile */
            invokevirtual java.io.File.exists:()Z
            ifeq 13
        12: .line 3551
            aload 5 /* e */
            new java.lang.StringBuilder
            dup
            ldc "Unable to read JavaModelManager "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* cacheName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " file"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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 5 // java.io.IOException e
        13: .line 3553
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            ifnull 27
        14: .line 3555
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        15: .line 3556
            goto 27
      StackMap locals:
      StackMap stack: java.io.IOException
        16: pop
            goto 27
        17: .line 3552
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        18: .line 3553
            aload 4 /* in */
            ifnull 22
        19: .line 3555
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        20: .line 3556
            goto 22
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.util.Set java.io.File java.io.DataInputStream top top java.lang.Throwable
      StackMap stack: java.io.IOException
        21: pop
        22: .line 3560
      StackMap locals:
      StackMap stack:
            aload 7
            athrow
        23: .line 3553
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.util.Set java.io.File java.io.DataInputStream
      StackMap stack:
            aload 4 /* in */
            ifnull 27
        24: .line 3555
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        25: .line 3556
            goto 27
      StackMap locals:
      StackMap stack: java.io.IOException
        26: pop
        27: .line 3561
      StackMap locals:
      StackMap stack:
            aload 2 /* pathCache */
            invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 4 // java.io.DataInputStream in
        end local 3 // java.io.File cacheFile
        end local 2 // java.util.Set pathCache
        end local 1 // java.lang.String cacheName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   28     0       this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   28     1  cacheName  Ljava/lang/String;
            1   28     2  pathCache  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
            2   28     3  cacheFile  Ljava/io/File;
            3   28     4         in  Ljava/io/DataInputStream;
            5    9     5       size  I
            7    8     6       path  Ljava/lang/String;
           11   13     5          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     9      10  Class java.io.IOException
          14    15      16  Class java.io.IOException
           3    13      17  any
          19    20      21  Class java.io.IOException
          24    25      26  Class java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
    MethodParameters:
           Name  Flags
      cacheName  

  private java.io.File getClasspathListFile(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/File;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String fileName
         0: .line 3565
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            invokevirtual org.eclipse.core.runtime.Plugin.getStateLocation:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* fileName */
            invokeinterface org.eclipse.core.runtime.IPath.append:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            areturn
        end local 1 // java.lang.String fileName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  fileName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      fileName  

  private java.util.Set<org.eclipse.core.runtime.IPath> getNonChainingJarsCache();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 3571
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            ifnull 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifle 2
         1: .line 3572
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            areturn
         2: .line 3574
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* result */
        start local 1 // java.util.Set result
         3: .line 3575
            aload 0 /* this */
            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 2 /* projects */
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
         4: .line 3576
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         5: aload 2 /* projects */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         6: goto 21
         7: .line 3577
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Set org.eclipse.jdt.core.IJavaProject[] int int
      StackMap stack:
            aload 2 /* projects */
            iload 3 /* i */
            aaload
            astore 5 /* javaProject */
        start local 5 // org.eclipse.jdt.core.IJavaProject javaProject
         8: .line 3578
            aload 5 /* javaProject */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 6 /* classpath */
        start local 6 // org.eclipse.jdt.core.IClasspathEntry[] classpath
         9: .line 3579
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        10: aload 6 /* classpath */
            arraylength
            istore 8 /* length2 */
        start local 8 // int length2
        11: goto 19
        12: .line 3580
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Set org.eclipse.jdt.core.IJavaProject[] int int org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IClasspathEntry[] int int
      StackMap stack:
            aload 6 /* classpath */
            iload 7 /* j */
            aaload
            astore 9 /* entry */
        start local 9 // org.eclipse.jdt.core.IClasspathEntry entry
        13: .line 3582
            aload 9 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_1
            if_icmpne 18
        14: .line 3583
            aload 1 /* result */
            aload 9 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            dup
            astore 10 /* path */
        start local 10 // org.eclipse.core.runtime.IPath path
        15: invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 18
        16: .line 3584
            aload 10 /* path */
            invokestatic org.eclipse.jdt.internal.core.ClasspathEntry.resolvedChainedLibraries:(Lorg/eclipse/core/runtime/IPath;)[Lorg/eclipse/core/runtime/IPath;
            arraylength
            ifne 18
        17: .line 3585
            aload 1 /* result */
            aload 10 /* path */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.eclipse.core.runtime.IPath path
        end local 9 // org.eclipse.jdt.core.IClasspathEntry entry
        18: .line 3579
      StackMap locals:
      StackMap stack:
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 7 /* j */
            iload 8 /* length2 */
            if_icmplt 12
        end local 8 // int length2
        end local 7 // int j
        end local 6 // org.eclipse.jdt.core.IClasspathEntry[] classpath
        end local 5 // org.eclipse.jdt.core.IJavaProject javaProject
        20: .line 3576
            iinc 3 /* i */ 1
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Set org.eclipse.jdt.core.IJavaProject[] int int
      StackMap stack:
        21: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 7
        end local 4 // int length
        end local 3 // int i
        22: .line 3589
            aload 0 /* this */
            aload 1 /* result */
            invokestatic java.util.Collections.synchronizedSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
        23: .line 3590
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 1 // java.util.Set result
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   24     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            3   24     1       result  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
            4   24     2     projects  [Lorg/eclipse/jdt/core/IJavaProject;
            5   22     3            i  I
            6   22     4       length  I
            8   20     5  javaProject  Lorg/eclipse/jdt/core/IJavaProject;
            9   20     6    classpath  [Lorg/eclipse/jdt/core/IClasspathEntry;
           10   20     7            j  I
           11   20     8      length2  I
           13   18     9        entry  Lorg/eclipse/jdt/core/IClasspathEntry;
           15   18    10         path  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    Signature: ()Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;

  private java.util.Set<org.eclipse.core.runtime.IPath> getClasspathListCache(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String cacheName
         0: .line 3594
            aload 1 /* cacheName */
            ldc "nonChainingJarsCache"
            if_acmpne 2
         1: .line 3595
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getNonChainingJarsCache:()Ljava/util/Set;
            areturn
         2: .line 3596
      StackMap locals:
      StackMap stack:
            aload 1 /* cacheName */
            ldc "externalFilesCache"
            if_acmpne 4
         3: .line 3597
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            areturn
         4: .line 3598
      StackMap locals:
      StackMap stack:
            aload 1 /* cacheName */
            ldc "assumedExternalFilesCache"
            if_acmpne 6
         5: .line 3599
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
            areturn
         6: .line 3601
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String cacheName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    7     1  cacheName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    Signature: (Ljava/lang/String;)Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
    MethodParameters:
           Name  Flags
      cacheName  

  public void loadVariablesAndContainers();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=15, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 3606
            new org.eclipse.core.runtime.QualifiedName
            dup
            ldc "org.eclipse.jdt.core"
            ldc "variables"
            invokespecial org.eclipse.core.runtime.QualifiedName.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 1 /* qName */
        start local 1 // org.eclipse.core.runtime.QualifiedName qName
         1: .line 3607
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;)Ljava/lang/String;
            astore 2 /* xmlString */
        start local 2 // java.lang.String xmlString
         2: .line 3610
            aload 2 /* xmlString */
            ifnull 47
         3: .line 3611
            new java.io.StringReader
            dup
            aload 2 /* xmlString */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 3 /* reader */
        start local 3 // java.io.StringReader reader
         4: .line 3614
            invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
            astore 5 /* parser */
        start local 5 // javax.xml.parsers.DocumentBuilder parser
         5: .line 3615
            aload 5 /* parser */
            new org.xml.sax.InputSource
            dup
            aload 3 /* reader */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
            astore 4 /* cpElement */
        end local 5 // javax.xml.parsers.DocumentBuilder parser
        start local 4 // org.w3c.dom.Element cpElement
         6: .line 3616
            goto 15
        end local 4 // org.w3c.dom.Element cpElement
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.QualifiedName java.lang.String java.io.StringReader
      StackMap stack: java.lang.Exception
         7: pop
         8: .line 3619
            aload 3 /* reader */
            invokevirtual java.io.StringReader.close:()V
         9: .line 3644
            aload 2 /* xmlString */
            ifnull 11
        10: .line 3645
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            aconst_null
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
        11: .line 3617
      StackMap locals:
      StackMap stack:
            return
        12: .line 3618
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        13: .line 3619
            aload 3 /* reader */
            invokevirtual java.io.StringReader.close:()V
        14: .line 3620
            aload 6
            athrow
        start local 4 // org.w3c.dom.Element cpElement
        15: .line 3619
      StackMap locals: org.w3c.dom.Element
      StackMap stack:
            aload 3 /* reader */
            invokevirtual java.io.StringReader.close:()V
        16: .line 3621
            aload 4 /* cpElement */
            ifnonnull 20
        17: .line 3644
            aload 2 /* xmlString */
            ifnull 19
        18: .line 3645
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            aconst_null
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
        19: .line 3621
      StackMap locals:
      StackMap stack:
            return
        20: .line 3622
      StackMap locals:
      StackMap stack:
            aload 4 /* cpElement */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "variables"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 24
        21: .line 3644
            aload 2 /* xmlString */
            ifnull 23
        22: .line 3645
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            aconst_null
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
        23: .line 3623
      StackMap locals:
      StackMap stack:
            return
        24: .line 3626
      StackMap locals:
      StackMap stack:
            aload 4 /* cpElement */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 5 /* list */
        start local 5 // org.w3c.dom.NodeList list
        25: .line 3627
            aload 5 /* list */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            istore 6 /* length */
        start local 6 // int length
        26: .line 3628
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        27: goto 38
        28: .line 3629
      StackMap locals: org.w3c.dom.NodeList int int
      StackMap stack:
            aload 5 /* list */
            iload 7 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 8 /* node */
        start local 8 // org.w3c.dom.Node node
        29: .line 3630
            aload 8 /* node */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            istore 9 /* type */
        start local 9 // short type
        30: .line 3631
            iload 9 /* type */
            iconst_1
            if_icmpne 37
        31: .line 3632
            aload 8 /* node */
            checkcast org.w3c.dom.Element
            astore 10 /* element */
        start local 10 // org.w3c.dom.Element element
        32: .line 3633
            aload 10 /* element */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "variable"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        33: .line 3634
            aload 0 /* this */
        34: .line 3635
            aload 10 /* element */
            ldc "name"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
        35: .line 3636
            new org.eclipse.core.runtime.Path
            dup
            aload 10 /* element */
            ldc "path"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
        36: .line 3634
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variablePut:(Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
        end local 10 // org.w3c.dom.Element element
        end local 9 // short type
        end local 8 // org.w3c.dom.Node node
        37: .line 3628
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: iload 7 /* i */
            iload 6 /* length */
            if_icmplt 28
        end local 7 // int i
        end local 6 // int length
        end local 5 // org.w3c.dom.NodeList list
        end local 4 // org.w3c.dom.Element cpElement
        end local 3 // java.io.StringReader reader
        39: .line 3641
            goto 47
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.QualifiedName java.lang.String
      StackMap stack: java.io.IOException
        40: pop
        41: .line 3644
            aload 2 /* xmlString */
            ifnull 49
        42: .line 3645
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            aconst_null
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
            goto 49
        43: .line 3643
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        44: .line 3644
            aload 2 /* xmlString */
            ifnull 46
        45: .line 3645
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            aconst_null
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
        46: .line 3647
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.QualifiedName java.lang.String top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        47: .line 3644
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.QualifiedName java.lang.String
      StackMap stack:
            aload 2 /* xmlString */
            ifnull 49
        48: .line 3645
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* qName */
            aconst_null
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.setPersistentProperty:(Lorg/eclipse/core/runtime/QualifiedName;Ljava/lang/String;)V
        49: .line 3650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDefaultPreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.loadVariablesAndContainers:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
        50: .line 3651
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInstancePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.loadVariablesAndContainers:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
        51: .line 3654
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getVariableAndContainersFile:()Ljava/io/File;
            astore 3 /* file */
        start local 3 // java.io.File file
        52: .line 3655
            aconst_null
            astore 4 /* in */
        start local 4 // java.io.DataInputStream in
        53: .line 3657
            new java.io.DataInputStream
            dup
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 3 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* in */
        54: .line 3658
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            tableswitch { // 1 - 2
                    1: 57
                    2: 55
              default: 81
          }
        55: .line 3660
      StackMap locals: java.io.File java.io.DataInputStream
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper
            dup
            aload 0 /* this */
            aload 4 /* in */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Ljava/io/DataInputStream;)V
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper.load:()V
        56: .line 3661
            goto 102
        57: .line 3664
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 5 /* size */
        start local 5 // int size
        58: .line 3665
            goto 66
        59: .line 3666
      StackMap locals: int
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 6 /* varName */
        start local 6 // java.lang.String varName
        60: .line 3667
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 7 /* pathString */
        start local 7 // java.lang.String pathString
        61: .line 3668
            ldc "##<cp entry ignore>##"
            aload 7 /* pathString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 63
        62: .line 3669
            goto 66
        63: .line 3670
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 7 /* pathString */
            invokestatic org.eclipse.core.runtime.Path.fromPortableString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 8 /* varPath */
        start local 8 // org.eclipse.core.runtime.IPath varPath
        64: .line 3671
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 6 /* varName */
            aload 8 /* varPath */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        65: .line 3672
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionVariables:Ljava/util/HashMap;
            aload 6 /* varName */
            aload 8 /* varPath */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // org.eclipse.core.runtime.IPath varPath
        end local 7 // java.lang.String pathString
        end local 6 // java.lang.String varName
        66: .line 3665
      StackMap locals:
      StackMap stack:
            iload 5 /* size */
            iinc 5 /* size */ -1
            ifgt 59
        67: .line 3676
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getJavaModel:()Lorg/eclipse/jdt/internal/core/JavaModel;
            astore 6 /* model */
        start local 6 // org.eclipse.jdt.core.IJavaModel model
        68: .line 3677
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 7 /* projectSize */
        start local 7 // int projectSize
        69: .line 3678
            goto 80
        70: .line 3679
      StackMap locals: org.eclipse.jdt.core.IJavaModel int
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 8 /* projectName */
        start local 8 // java.lang.String projectName
        71: .line 3680
            aload 6 /* model */
            aload 8 /* projectName */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 9 /* project */
        start local 9 // org.eclipse.jdt.core.IJavaProject project
        72: .line 3681
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 10 /* containerSize */
        start local 10 // int containerSize
        73: .line 3682
            goto 79
        74: .line 3683
      StackMap locals: java.lang.String org.eclipse.jdt.core.IJavaProject int
      StackMap stack:
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            invokestatic org.eclipse.core.runtime.Path.fromPortableString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 11 /* containerPath */
        start local 11 // org.eclipse.core.runtime.IPath containerPath
        75: .line 3684
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 12 /* length */
        start local 12 // int length
        76: .line 3685
            iload 12 /* length */
            newarray 8
            astore 13 /* containerString */
        start local 13 // byte[] containerString
        77: .line 3686
            aload 4 /* in */
            aload 13 /* containerString */
            invokevirtual java.io.DataInputStream.readFully:([B)V
        78: .line 3687
            aload 9 /* project */
            aload 11 /* containerPath */
            new java.lang.String
            dup
            aload 13 /* containerString */
            invokespecial java.lang.String.<init>:([B)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.recreatePersistedContainer:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;Z)V
        end local 13 // byte[] containerString
        end local 12 // int length
        end local 11 // org.eclipse.core.runtime.IPath containerPath
        79: .line 3682
      StackMap locals:
      StackMap stack:
            iload 10 /* containerSize */
            iinc 10 /* containerSize */ -1
            ifgt 74
        end local 10 // int containerSize
        end local 9 // org.eclipse.jdt.core.IJavaProject project
        end local 8 // java.lang.String projectName
        80: .line 3678
      StackMap locals:
      StackMap stack:
            iload 7 /* projectSize */
            iinc 7 /* projectSize */ -1
            ifgt 70
        end local 7 // int projectSize
        end local 6 // org.eclipse.jdt.core.IJavaModel model
        end local 5 // int size
        81: .line 3692
      StackMap locals:
      StackMap stack:
            goto 102
      StackMap locals:
      StackMap stack: java.io.IOException
        82: astore 5 /* e */
        start local 5 // java.io.IOException e
        83: .line 3693
            aload 3 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 85
        84: .line 3694
            aload 5 /* e */
            ldc "Unable to read variable and containers file"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 5 // java.io.IOException e
        85: .line 3699
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            ifnull 106
        86: .line 3701
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        87: .line 3702
            goto 106
      StackMap locals:
      StackMap stack: java.io.IOException
        88: pop
            goto 106
        89: .line 3695
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 5 /* e */
        start local 5 // java.lang.RuntimeException e
        90: .line 3696
            aload 3 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 92
        91: .line 3697
            aload 5 /* e */
            ldc "Unable to read variable and containers file (file is corrupt)"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 5 // java.lang.RuntimeException e
        92: .line 3699
      StackMap locals:
      StackMap stack:
            aload 4 /* in */
            ifnull 106
        93: .line 3701
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        94: .line 3702
            goto 106
      StackMap locals:
      StackMap stack: java.io.IOException
        95: pop
            goto 106
        96: .line 3698
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 14
        97: .line 3699
            aload 4 /* in */
            ifnull 101
        98: .line 3701
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        99: .line 3702
            goto 101
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.QualifiedName java.lang.String java.io.File java.io.DataInputStream top top top top top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
       100: pop
       101: .line 3706
      StackMap locals:
      StackMap stack:
            aload 14
            athrow
       102: .line 3699
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.QualifiedName java.lang.String java.io.File java.io.DataInputStream
      StackMap stack:
            aload 4 /* in */
            ifnull 106
       103: .line 3701
            aload 4 /* in */
            invokevirtual java.io.DataInputStream.close:()V
       104: .line 3702
            goto 106
      StackMap locals:
      StackMap stack: java.io.IOException
       105: pop
       106: .line 3709
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getRegisteredVariableNames:()[Ljava/lang/String;
            astore 5 /* registeredVariables */
        start local 5 // java.lang.String[] registeredVariables
       107: .line 3710
            iconst_0
            istore 6 /* i */
        start local 6 // int i
       108: goto 112
       109: .line 3711
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 5 /* registeredVariables */
            iload 6 /* i */
            aaload
            astore 7 /* varName */
        start local 7 // java.lang.String varName
       110: .line 3712
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 7 /* varName */
            aconst_null
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.lang.String varName
       111: .line 3710
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       112: iload 6 /* i */
            aload 5 /* registeredVariables */
            arraylength
            if_icmplt 109
        end local 6 // int i
       113: .line 3715
            aload 0 /* this */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getRegisteredContainerIDs:()[Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containersReset:([Ljava/lang/String;)V
       114: .line 3716
            return
        end local 5 // java.lang.String[] registeredVariables
        end local 4 // java.io.DataInputStream in
        end local 3 // java.io.File file
        end local 2 // java.lang.String xmlString
        end local 1 // org.eclipse.core.runtime.QualifiedName qName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  115     0                 this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1  115     1                qName  Lorg/eclipse/core/runtime/QualifiedName;
            2  115     2            xmlString  Ljava/lang/String;
            4   39     3               reader  Ljava/io/StringReader;
            6    7     4            cpElement  Lorg/w3c/dom/Element;
           15   39     4            cpElement  Lorg/w3c/dom/Element;
            5    6     5               parser  Ljavax/xml/parsers/DocumentBuilder;
           25   39     5                 list  Lorg/w3c/dom/NodeList;
           26   39     6               length  I
           27   39     7                    i  I
           29   37     8                 node  Lorg/w3c/dom/Node;
           30   37     9                 type  S
           32   37    10              element  Lorg/w3c/dom/Element;
           52  115     3                 file  Ljava/io/File;
           53  115     4                   in  Ljava/io/DataInputStream;
           58   81     5                 size  I
           60   66     6              varName  Ljava/lang/String;
           61   66     7           pathString  Ljava/lang/String;
           64   66     8              varPath  Lorg/eclipse/core/runtime/IPath;
           68   81     6                model  Lorg/eclipse/jdt/core/IJavaModel;
           69   81     7          projectSize  I
           71   80     8          projectName  Ljava/lang/String;
           72   80     9              project  Lorg/eclipse/jdt/core/IJavaProject;
           73   80    10        containerSize  I
           75   79    11        containerPath  Lorg/eclipse/core/runtime/IPath;
           76   79    12               length  I
           77   79    13      containerString  [B
           83   85     5                    e  Ljava/io/IOException;
           90   92     5                    e  Ljava/lang/RuntimeException;
          107  115     5  registeredVariables  [Ljava/lang/String;
          108  113     6                    i  I
          110  111     7              varName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     6       7  Class org.xml.sax.SAXException
           4     6       7  Class javax.xml.parsers.ParserConfigurationException
           4     8      12  any
           2     9      40  Class java.io.IOException
          12    17      40  Class java.io.IOException
          20    21      40  Class java.io.IOException
          24    39      40  Class java.io.IOException
           2     9      43  any
          12    17      43  any
          20    21      43  any
          24    41      43  any
          53    81      82  Class java.io.IOException
          86    87      88  Class java.io.IOException
          53    81      89  Class java.lang.RuntimeException
          93    94      95  Class java.io.IOException
          53    85      96  any
          89    92      96  any
          98    99     100  Class java.io.IOException
         103   104     105  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  private void loadVariablesAndContainers(org.eclipse.core.runtime.preferences.IEclipsePreferences);
    descriptor: (Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
         0: .line 3721
            aload 1 /* preferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.keys:()[Ljava/lang/String;
            astore 2 /* propertyNames */
        start local 2 // java.lang.String[] propertyNames
         1: .line 3722
            ldc "org.eclipse.jdt.core.classpathVariable."
            invokevirtual java.lang.String.length:()I
            istore 3 /* variablePrefixLength */
        start local 3 // int variablePrefixLength
         2: .line 3723
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 23
         4: .line 3724
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 2 /* propertyNames */
            iload 4 /* i */
            aaload
            astore 5 /* propertyName */
        start local 5 // java.lang.String propertyName
         5: .line 3725
            aload 5 /* propertyName */
            ldc "org.eclipse.jdt.core.classpathVariable."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 17
         6: .line 3726
            aload 5 /* propertyName */
            iload 3 /* variablePrefixLength */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 6 /* varName */
        start local 6 // java.lang.String varName
         7: .line 3727
            aload 1 /* preferences */
            aload 5 /* propertyName */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* propertyValue */
        start local 7 // java.lang.String propertyValue
         8: .line 3728
            aload 7 /* propertyValue */
            ifnull 22
         9: .line 3729
            aload 7 /* propertyValue */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 8 /* pathString */
        start local 8 // java.lang.String pathString
        10: .line 3731
            ldc "##<cp entry ignore>##"
            aload 8 /* pathString */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 3733
            aload 1 /* preferences */
            aload 5 /* propertyName */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
        12: .line 3734
            goto 22
        13: .line 3738
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.preferences.IEclipsePreferences java.lang.String[] int int java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
            new org.eclipse.core.runtime.Path
            dup
            aload 8 /* pathString */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 9 /* varPath */
        start local 9 // org.eclipse.core.runtime.IPath varPath
        14: .line 3739
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 6 /* varName */
            aload 9 /* varPath */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 3740
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionVariables:Ljava/util/HashMap;
            aload 6 /* varName */
            aload 9 /* varPath */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.eclipse.core.runtime.IPath varPath
        end local 8 // java.lang.String pathString
        end local 7 // java.lang.String propertyValue
        end local 6 // java.lang.String varName
        16: .line 3742
            goto 22
      StackMap locals:
      StackMap stack:
        17: aload 5 /* propertyName */
            ldc "org.eclipse.jdt.core.classpathContainer."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 22
        18: .line 3743
            aload 1 /* preferences */
            aload 5 /* propertyName */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* propertyValue */
        start local 6 // java.lang.String propertyValue
        19: .line 3744
            aload 6 /* propertyValue */
            ifnull 22
        20: .line 3746
            aload 1 /* preferences */
            aload 5 /* propertyName */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
        21: .line 3749
            aload 5 /* propertyName */
            aload 6 /* propertyValue */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.recreatePersistedContainer:(Ljava/lang/String;Ljava/lang/String;Z)V
        end local 6 // java.lang.String propertyValue
        end local 5 // java.lang.String propertyName
        22: .line 3723
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 4 /* i */
            aload 2 /* propertyNames */
            arraylength
            if_icmplt 4
        end local 4 // int i
        end local 3 // int variablePrefixLength
        end local 2 // java.lang.String[] propertyNames
        24: .line 3753
            goto 26
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack: org.osgi.service.prefs.BackingStoreException
        25: pop
        26: .line 3756
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   27     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   27     1           preferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            1   24     2         propertyNames  [Ljava/lang/String;
            2   24     3  variablePrefixLength  I
            3   24     4                     i  I
            5   22     5          propertyName  Ljava/lang/String;
            7   16     6               varName  Ljava/lang/String;
            8   16     7         propertyValue  Ljava/lang/String;
           10   16     8            pathString  Ljava/lang/String;
           14   16     9               varPath  Lorg/eclipse/core/runtime/IPath;
           19   22     6         propertyValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0    24      25  Class org.osgi.service.prefs.BackingStoreException
    MethodParameters:
             Name  Flags
      preferences  

  protected synchronized java.lang.Object peekAtInfo(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
         0: .line 4047
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.HashMap
            astore 2 /* tempCache */
        start local 2 // java.util.HashMap tempCache
         1: .line 4048
            aload 2 /* tempCache */
            ifnull 5
         2: .line 4049
            aload 2 /* tempCache */
            aload 1 /* element */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         3: .line 4050
            aload 3 /* result */
            ifnull 5
         4: .line 4051
            aload 3 /* result */
            areturn
        end local 3 // java.lang.Object result
         5: .line 4054
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.peekAtInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            areturn
        end local 2 // java.util.HashMap tempCache
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1    element  Lorg/eclipse/jdt/core/IJavaElement;
            1    6     2  tempCache  Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
            3    5     3     result  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      element  

  public void prepareToSave(org.eclipse.core.resources.ISaveContext);
    descriptor: (Lorg/eclipse/core/resources/ISaveContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.ISaveContext context
         0: .line 4063
            return
        end local 1 // org.eclipse.core.resources.ISaveContext context
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  context  Lorg/eclipse/core/resources/ISaveContext;
    MethodParameters:
         Name  Flags
      context  

  protected synchronized  putInfos(org.eclipse.jdt.core.IJavaElement, , boolean, java.util.Map<org.eclipse.jdt.core.IJavaElement, java.lang.Object>);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;ZLjava/util/Map;)Ljava/lang/Object;
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=10, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaElement openedElement
        start local 2 // java.lang.Object newInfo
        start local 3 // boolean forceAdd
        start local 4 // java.util.Map newElements
         0: .line 4073
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* openedElement */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.peekAtInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 5 /* existingInfo */
        start local 5 // java.lang.Object existingInfo
         1: .line 4074
            aload 5 /* existingInfo */
            ifnull 3
            iload 3 /* forceAdd */
            ifne 3
         2: .line 4081
            aload 5 /* existingInfo */
            areturn
         3: .line 4083
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* openedElement */
            instanceof org.eclipse.jdt.core.IParent
            ifeq 5
         4: .line 4084
            aload 0 /* this */
            aload 5 /* existingInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeChildren:(Ljava/lang/Object;)V
         5: .line 4097
      StackMap locals:
      StackMap stack:
            aload 4 /* newElements */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* it */
        start local 6 // java.util.Iterator it
         6: goto 13
         7: .line 4098
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
         8: .line 4099
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IJavaElement
            astore 8 /* element */
        start local 8 // org.eclipse.jdt.core.IJavaElement element
         9: .line 4100
            aload 8 /* element */
            instanceof org.eclipse.jdt.internal.core.JarPackageFragmentRoot
            ifeq 13
        10: .line 4101
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaElementInfo
            astore 9 /* info */
        start local 9 // org.eclipse.jdt.internal.core.JavaElementInfo info
        11: .line 4102
            aload 6 /* it */
            invokeinterface java.util.Iterator.remove:()V
        12: .line 4103
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 8 /* element */
            aload 9 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.putInfo:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;)V
        end local 9 // org.eclipse.jdt.internal.core.JavaElementInfo info
        end local 8 // org.eclipse.jdt.core.IJavaElement element
        end local 7 // java.util.Map$Entry entry
        13: .line 4097
      StackMap locals:
      StackMap stack:
            aload 6 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        end local 6 // java.util.Iterator it
        14: .line 4107
            aload 4 /* newElements */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* iterator */
        start local 6 // java.util.Iterator iterator
        15: .line 4108
            goto 18
        16: .line 4109
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* entry */
        start local 7 // java.util.Map$Entry entry
        17: .line 4110
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IJavaElement
            aload 7 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.putInfo:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;)V
        end local 7 // java.util.Map$Entry entry
        18: .line 4108
      StackMap locals:
      StackMap stack:
            aload 6 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 4112
            aload 2 /* newInfo */
            areturn
        end local 6 // java.util.Iterator iterator
        end local 5 // java.lang.Object existingInfo
        end local 4 // java.util.Map newElements
        end local 3 // boolean forceAdd
        end local 2 // java.lang.Object newInfo
        end local 1 // org.eclipse.jdt.core.IJavaElement openedElement
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   20     1  openedElement  Lorg/eclipse/jdt/core/IJavaElement;
            0   20     2        newInfo  Ljava/lang/Object;
            0   20     3       forceAdd  Z
            0   20     4    newElements  Ljava/util/Map<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
            1   20     5   existingInfo  Ljava/lang/Object;
            6   14     6             it  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;>;
            8   13     7          entry  Ljava/util/Map$Entry<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
            9   13     8        element  Lorg/eclipse/jdt/core/IJavaElement;
           11   13     9           info  Lorg/eclipse/jdt/internal/core/JavaElementInfo;
           15   20     6       iterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;>;
           17   18     7          entry  Ljava/util/Map$Entry<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
    Signature: (Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;ZLjava/util/Map<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;)Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      openedElement  
      newInfo        
      forceAdd       
      newElements    

  private void closeChildren(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.Object info
         0: .line 4116
            aload 1 /* info */
            instanceof org.eclipse.jdt.internal.core.JavaElementInfo
            ifeq 11
         1: .line 4117
            aload 1 /* info */
            checkcast org.eclipse.jdt.internal.core.JavaElementInfo
            invokevirtual org.eclipse.jdt.internal.core.JavaElementInfo.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* children */
        start local 2 // org.eclipse.jdt.core.IJavaElement[] children
         2: .line 4118
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 2 /* children */
            arraylength
            istore 4 /* size */
        start local 4 // int size
         4: goto 10
         5: .line 4119
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int int
      StackMap stack:
            aload 2 /* children */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 5 /* child */
        start local 5 // org.eclipse.jdt.internal.core.JavaElement child
         6: .line 4121
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.close:()V
         7: .line 4122
            goto 9
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.Object org.eclipse.jdt.core.IJavaElement[] int int org.eclipse.jdt.internal.core.JavaElement
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         8: pop
        end local 5 // org.eclipse.jdt.internal.core.JavaElement child
         9: .line 4118
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            iload 4 /* size */
            if_icmplt 5
        end local 4 // int size
        end local 3 // int i
        end local 2 // org.eclipse.jdt.core.IJavaElement[] children
        11: .line 4127
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object info
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   12     1      info  Ljava/lang/Object;
            2   11     2  children  [Lorg/eclipse/jdt/core/IJavaElement;
            3   11     3         i  I
            4   11     4      size  I
            6    9     5     child  Lorg/eclipse/jdt/internal/core/JavaElement;
      Exception table:
        from    to  target  type
           6     7       8  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      info  

  protected synchronized void putJarTypeInfo(org.eclipse.jdt.core.IJavaElement, java.lang.Object);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;)V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaElement type
        start local 2 // java.lang.Object info
         0: .line 4134
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            getfield org.eclipse.jdt.internal.core.JavaModelCache.jarTypeCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 1 /* type */
            aload 2 /* info */
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4135
            return
        end local 2 // java.lang.Object info
        end local 1 // org.eclipse.jdt.core.IJavaElement type
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  type  Lorg/eclipse/jdt/core/IJavaElement;
            0    2     2  info  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      type  
      info  

  protected java.lang.Object readState(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=10, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject project
         0: .line 4141
            aload 0 /* this */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getSerializationFile:(Lorg/eclipse/core/resources/IProject;)Ljava/io/File;
            astore 2 /* file */
        start local 2 // java.io.File file
         1: .line 4142
            aload 2 /* file */
            ifnull 24
            aload 2 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 24
         2: .line 4144
            new java.io.DataInputStream
            dup
            new java.io.BufferedInputStream
            dup
            new java.io.FileInputStream
            dup
            aload 2 /* file */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* in */
        start local 3 // java.io.DataInputStream in
         3: .line 4146
            aload 3 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 4 /* pluginID */
        start local 4 // java.lang.String pluginID
         4: .line 4147
            aload 4 /* pluginID */
            ldc "org.eclipse.jdt.core"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 4148
            new java.io.IOException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_wrongFileFormat:Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 4149
      StackMap locals: java.io.File java.io.DataInputStream java.lang.String
      StackMap stack:
            aload 3 /* in */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 5 /* kind */
        start local 5 // java.lang.String kind
         7: .line 4150
            aload 5 /* kind */
            ldc "STATE"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 4151
            new java.io.IOException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_wrongFileFormat:Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 4152
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* in */
            invokevirtual java.io.DataInputStream.readBoolean:()Z
            ifeq 13
        10: .line 4153
            aload 1 /* project */
            aload 3 /* in */
            invokestatic org.eclipse.jdt.internal.core.builder.JavaBuilder.readState:(Lorg/eclipse/core/resources/IProject;Ljava/io/DataInputStream;)Lorg/eclipse/jdt/internal/core/builder/State;
            astore 7
        11: .line 4157
            aload 3 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        12: .line 4153
            aload 7
            areturn
        13: .line 4154
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 19
        14: .line 4155
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Saved state thinks last build failed for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // java.lang.String kind
        end local 4 // java.lang.String pluginID
        15: .line 4156
            goto 19
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.IProject java.io.File java.io.DataInputStream
      StackMap stack: java.lang.Throwable
        16: astore 6
        17: .line 4157
            aload 3 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        18: .line 4158
            aload 6
            athrow
        19: .line 4157
      StackMap locals:
      StackMap stack:
            aload 3 /* in */
            invokevirtual java.io.DataInputStream.close:()V
        end local 3 // java.io.DataInputStream in
        20: .line 4159
            goto 28
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.IProject java.io.File
      StackMap stack: java.lang.Exception
        21: astore 3 /* e */
        start local 3 // java.lang.Exception e
        22: .line 4160
            aload 3 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        23: .line 4161
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc "Error reading last build state for project "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* project */
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 3 // java.lang.Exception e
        24: .line 4163
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 28
        25: .line 4164
            aload 2 /* file */
            ifnonnull 27
        26: .line 4165
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Project does not exist: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* project */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
            goto 28
        27: .line 4167
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Build state file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " does not exist"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        28: .line 4169
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.io.File file
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   29     1   project  Lorg/eclipse/core/resources/IProject;
            1   29     2      file  Ljava/io/File;
            3   20     3        in  Ljava/io/DataInputStream;
            4   15     4  pluginID  Ljava/lang/String;
            7   15     5      kind  Ljava/lang/String;
           22   24     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3    11      16  any
          13    16      16  any
           2    12      21  Class java.lang.Exception
          13    20      21  Class java.lang.Exception
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public static void recreatePersistedContainer(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.String propertyName
        start local 1 // java.lang.String containerString
        start local 2 // boolean addToContainerValues
         0: .line 4173
            ldc "org.eclipse.jdt.core.classpathContainer."
            invokevirtual java.lang.String.length:()I
            istore 3 /* containerPrefixLength */
        start local 3 // int containerPrefixLength
         1: .line 4174
            aload 0 /* propertyName */
            bipush 124
            iload 3 /* containerPrefixLength */
            invokevirtual java.lang.String.indexOf:(II)I
            istore 4 /* index */
        start local 4 // int index
         2: .line 4175
            aload 1 /* containerString */
            ifnull 3
            aload 1 /* containerString */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 1 /* containerString */
         3: .line 4176
      StackMap locals: int int
      StackMap stack:
            iload 4 /* index */
            ifle 8
         4: .line 4177
            aload 0 /* propertyName */
            iload 3 /* containerPrefixLength */
            iload 4 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 5 /* projectName */
        start local 5 // java.lang.String projectName
         5: .line 4178
            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;
            aload 5 /* projectName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 6 /* project */
        start local 6 // org.eclipse.jdt.core.IJavaProject project
         6: .line 4179
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* propertyName */
            iload 4 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            astore 7 /* containerPath */
        start local 7 // org.eclipse.core.runtime.IPath containerPath
         7: .line 4180
            aload 6 /* project */
            aload 7 /* containerPath */
            aload 1 /* containerString */
            iload 2 /* addToContainerValues */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.recreatePersistedContainer:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;Z)V
        end local 7 // org.eclipse.core.runtime.IPath containerPath
        end local 6 // org.eclipse.jdt.core.IJavaProject project
        end local 5 // java.lang.String projectName
         8: .line 4182
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int index
        end local 3 // int containerPrefixLength
        end local 2 // boolean addToContainerValues
        end local 1 // java.lang.String containerString
        end local 0 // java.lang.String propertyName
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    9     0           propertyName  Ljava/lang/String;
            0    9     1        containerString  Ljava/lang/String;
            0    9     2   addToContainerValues  Z
            1    9     3  containerPrefixLength  I
            2    9     4                  index  I
            5    8     5            projectName  Ljava/lang/String;
            6    8     6                project  Lorg/eclipse/jdt/core/IJavaProject;
            7    8     7          containerPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
                      Name  Flags
      propertyName          
      containerString       
      addToContainerValues  

  private static void recreatePersistedContainer(org.eclipse.jdt.core.IJavaProject, org.eclipse.core.runtime.IPath, java.lang.String, boolean);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Ljava/lang/String;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.core.runtime.IPath containerPath
        start local 2 // java.lang.String containerString
        start local 3 // boolean addToContainerValues
         0: .line 4185
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.isAccessible:()Z
            ifne 1
            return
         1: .line 4186
      StackMap locals:
      StackMap stack:
            aload 2 /* containerString */
            ifnonnull 4
         2: .line 4187
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* project */
            aload 1 /* containerPath */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
         3: .line 4188
            goto 19
         4: .line 4191
      StackMap locals:
      StackMap stack:
            aload 0 /* project */
            checkcast org.eclipse.jdt.internal.core.JavaProject
            aload 2 /* containerString */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.decodeClasspath:(Ljava/lang/String;Ljava/util/Map;)[[Lorg/eclipse/jdt/core/IClasspathEntry;
            iconst_0
            aaload
            astore 4 /* entries */
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
         5: .line 4192
            goto 9
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
      StackMap locals:
      StackMap stack: java.io.IOException
         6: astore 5 /* e */
        start local 5 // java.io.IOException e
         7: .line 4193
            aload 5 /* e */
            new java.lang.StringBuilder
            dup
            ldc "Could not recreate persisted container: \n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* containerString */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)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
         8: .line 4194
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 4 /* entries */
        end local 5 // java.io.IOException e
        start local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
         9: .line 4196
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[]
      StackMap stack:
            aload 4 /* entries */
            getstatic org.eclipse.jdt.internal.core.JavaProject.INVALID_CLASSPATH:[Lorg/eclipse/jdt/core/IClasspathEntry;
            if_acmpeq 19
        10: .line 4197
            aload 4 /* entries */
            astore 5 /* containerEntries */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry[] containerEntries
        11: .line 4198
            new org.eclipse.jdt.internal.core.JavaModelManager$15
            dup
            aload 5 /* containerEntries */
            aload 1 /* containerPath */
            aload 0 /* project */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$15.<init>:([Lorg/eclipse/jdt/core/IClasspathEntry;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IJavaProject;)V
            astore 6 /* container */
        start local 6 // org.eclipse.jdt.core.IClasspathContainer container
        12: .line 4221
            iload 3 /* addToContainerValues */
            ifeq 14
        13: .line 4222
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* project */
            aload 1 /* containerPath */
            aload 6 /* container */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.containerPut:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;)V
        14: .line 4224
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry[] org.eclipse.jdt.core.IClasspathContainer
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionContainers:Ljava/util/HashMap;
            aload 0 /* project */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 7 /* projectContainers */
        start local 7 // java.util.Map projectContainers
        15: .line 4225
            aload 7 /* projectContainers */
            ifnonnull 18
        16: .line 4226
            new java.util.HashMap
            dup
            iconst_1
            invokespecial java.util.HashMap.<init>:(I)V
            astore 7 /* projectContainers */
        17: .line 4227
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionContainers:Ljava/util/HashMap;
            aload 0 /* project */
            aload 7 /* projectContainers */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 4229
      StackMap locals: java.util.Map
      StackMap stack:
            aload 7 /* projectContainers */
            aload 1 /* containerPath */
            aload 6 /* container */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // java.util.Map projectContainers
        end local 6 // org.eclipse.jdt.core.IClasspathContainer container
        end local 5 // org.eclipse.jdt.core.IClasspathEntry[] containerEntries
        end local 4 // org.eclipse.jdt.core.IClasspathEntry[] entries
        19: .line 4232
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.core.runtime.IPath java.lang.String int
      StackMap stack:
            return
        end local 3 // boolean addToContainerValues
        end local 2 // java.lang.String containerString
        end local 1 // org.eclipse.core.runtime.IPath containerPath
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   20     0               project  Lorg/eclipse/jdt/core/IJavaProject;
            0   20     1         containerPath  Lorg/eclipse/core/runtime/IPath;
            0   20     2       containerString  Ljava/lang/String;
            0   20     3  addToContainerValues  Z
            5    6     4               entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            9   19     4               entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            7    9     5                     e  Ljava/io/IOException;
           11   19     5      containerEntries  [Lorg/eclipse/jdt/core/IClasspathEntry;
           12   19     6             container  Lorg/eclipse/jdt/core/IClasspathContainer;
           15   19     7     projectContainers  Ljava/util/Map<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/jdt/core/IClasspathContainer;>;
      Exception table:
        from    to  target  type
           4     5       6  Class java.io.IOException
    MethodParameters:
                      Name  Flags
      project               final
      containerPath         final
      containerString       
      addToContainerValues  

  public void rememberScope(org.eclipse.jdt.internal.core.search.AbstractSearchScope);
    descriptor: (Lorg/eclipse/jdt/internal/core/search/AbstractSearchScope;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.search.AbstractSearchScope scope
         0: .line 4240
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.searchScopes:Ljava/util/WeakHashMap;
            aload 1 /* scope */
            aconst_null
            invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 4241
            return
        end local 1 // org.eclipse.jdt.internal.core.search.AbstractSearchScope scope
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  scope  Lorg/eclipse/jdt/internal/core/search/AbstractSearchScope;
    MethodParameters:
       Name  Flags
      scope  

  public synchronized java.lang.Object removeInfoAndChildren(org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement element
         0: .line 4249
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.peekAtInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 2 /* info */
        start local 2 // java.lang.Object info
         1: .line 4250
            aload 2 /* info */
            ifnull 20
         2: .line 4251
            iconst_0
            istore 3 /* wasVerbose */
        start local 3 // boolean wasVerbose
         3: .line 4253
            getstatic org.eclipse.jdt.internal.core.JavaModelCache.VERBOSE:Z
            ifeq 8
         4: .line 4254
            aload 1 /* element */
            invokestatic org.eclipse.jdt.internal.core.JavaModelCache.getElementType:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/String;
            astore 4 /* elementType */
        start local 4 // java.lang.String elementType
         5: .line 4255
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " CLOSING "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* elementType */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 4256
            iconst_1
            istore 3 /* wasVerbose */
         7: .line 4257
            iconst_0
            putstatic org.eclipse.jdt.internal.core.JavaModelCache.VERBOSE:Z
        end local 4 // java.lang.String elementType
         8: .line 4259
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 1 /* element */
            aload 2 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.closing:(Ljava/lang/Object;)V
         9: .line 4260
            aload 1 /* element */
            instanceof org.eclipse.jdt.core.IParent
            ifeq 11
        10: .line 4261
            aload 0 /* this */
            aload 2 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.closeChildren:(Ljava/lang/Object;)V
        11: .line 4263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.removeInfo:(Lorg/eclipse/jdt/internal/core/JavaElement;)V
        12: .line 4264
            iload 3 /* wasVerbose */
            ifeq 18
        13: .line 4265
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            ldc "-> "
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.toStringFillingRation:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        14: .line 4267
            goto 18
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 5
        16: .line 4268
            iload 3 /* wasVerbose */
            putstatic org.eclipse.jdt.internal.core.JavaModelCache.VERBOSE:Z
        17: .line 4269
            aload 5
            athrow
        18: .line 4268
      StackMap locals:
      StackMap stack:
            iload 3 /* wasVerbose */
            putstatic org.eclipse.jdt.internal.core.JavaModelCache.VERBOSE:Z
        19: .line 4270
            aload 2 /* info */
            areturn
        end local 3 // boolean wasVerbose
        20: .line 4272
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object info
        end local 1 // org.eclipse.jdt.internal.core.JavaElement element
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   21     1      element  Lorg/eclipse/jdt/internal/core/JavaElement;
            1   21     2         info  Ljava/lang/Object;
            3   20     3   wasVerbose  Z
            5    8     4  elementType  Ljava/lang/String;
      Exception table:
        from    to  target  type
           3    15      15  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      element  

  void removeFromJarTypeCache(org.eclipse.jdt.internal.core.BinaryType);
    descriptor: (Lorg/eclipse/jdt/internal/core/BinaryType;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.BinaryType type
         0: .line 4276
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.removeFromJarTypeCache:(Lorg/eclipse/jdt/internal/core/BinaryType;)V
         1: .line 4277
            return
        end local 1 // org.eclipse.jdt.internal.core.BinaryType type
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  type  Lorg/eclipse/jdt/internal/core/BinaryType;
    MethodParameters:
      Name  Flags
      type  

  public void removePerProjectInfo(org.eclipse.jdt.internal.core.JavaProject, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        start local 2 // boolean removeExtJarInfo
         0: .line 4280
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            dup
            astore 3
            monitorenter
         1: .line 4281
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 4 /* project */
        start local 4 // org.eclipse.core.resources.IProject project
         2: .line 4282
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            aload 4 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
            astore 5 /* info */
        start local 5 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         3: .line 4283
            aload 5 /* info */
            ifnull 7
         4: .line 4284
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            aload 4 /* project */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 4285
            iload 2 /* removeExtJarInfo */
            ifeq 7
         6: .line 4286
            aload 5 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.forgetExternalTimestampsAndIndexes:()V
        end local 5 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 4 // org.eclipse.core.resources.IProject project
         7: .line 4280
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 4290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.resetClasspathListCache:()V
        12: .line 4291
            return
        end local 2 // boolean removeExtJarInfo
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   13     1       javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            0   13     2  removeExtJarInfo  Z
            2    7     4           project  Lorg/eclipse/core/resources/IProject;
            3    7     5              info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
                  Name  Flags
      javaProject       
      removeExtJarInfo  

  public void resetProjectOptions(org.eclipse.jdt.internal.core.JavaProject);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
         0: .line 4297
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 4298
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 3 /* project */
        start local 3 // org.eclipse.core.resources.IProject project
         2: .line 4299
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            aload 3 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
            astore 4 /* info */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         3: .line 4300
            aload 4 /* info */
            ifnull 5
         4: .line 4301
            aload 4 /* info */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.options:Ljava/util/Hashtable;
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 3 // org.eclipse.core.resources.IProject project
         5: .line 4297
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 4304
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   10     1  javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            2    5     3      project  Lorg/eclipse/core/resources/IProject;
            3    5     4         info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
             Name  Flags
      javaProject  

  public void resetProjectPreferences(org.eclipse.jdt.internal.core.JavaProject);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaProject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
         0: .line 4310
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            dup
            astore 2
            monitorenter
         1: .line 4311
            aload 1 /* javaProject */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 3 /* project */
        start local 3 // org.eclipse.core.resources.IProject project
         2: .line 4312
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            aload 3 /* project */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
            astore 4 /* info */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         3: .line 4313
            aload 4 /* info */
            ifnull 5
         4: .line 4314
            aload 4 /* info */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.preferences:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 3 // org.eclipse.core.resources.IProject project
         5: .line 4310
      StackMap locals: java.util.Map
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 4317
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.eclipse.jdt.internal.core.JavaProject javaProject
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   10     1  javaProject  Lorg/eclipse/jdt/internal/core/JavaProject;
            2    5     3      project  Lorg/eclipse/core/resources/IProject;
            3    5     4         info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
             Name  Flags
      javaProject  

  public static final void doNotUse();
    descriptor: ()V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=0, args_size=0
         0: .line 4321
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.doNotUse:()V
         1: .line 4322
            new org.eclipse.jdt.internal.core.JavaModelManager
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager.<init>:()V
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.MANAGER:Lorg/eclipse/jdt/internal/core/JavaModelManager;
         2: .line 4323
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected synchronized void resetJarTypeCache();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 4329
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.resetJarTypeCache:()V
         1: .line 4330
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public void resetClasspathListCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 4333
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            ifnull 2
         1: .line 4334
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.nonChainingJars:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
         2: .line 4335
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.DEBUG_INVALID_ARCHIVES:Z
            ifeq 10
         3: .line 4336
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchivesMutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         4: .line 4337
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchives:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 6
         5: .line 4338
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Invalid JAR cache: clearing cache"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         6: .line 4336
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 1
            monitorexit
         9: athrow
        10: .line 4342
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchivesMutex:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
        11: .line 4343
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.invalidArchives:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        12: .line 4342
            aload 1
            monitorexit
        13: goto 16
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.Object
      StackMap stack: java.lang.Throwable
        14: aload 1
            monitorexit
        15: athrow
        16: .line 4345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            ifnull 18
        17: .line 4346
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFiles:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
        18: .line 4347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
            ifnull 20
        19: .line 4348
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.assumedExternalFiles:Ljava/util/Set;
            invokeinterface java.util.Set.clear:()V
        20: .line 4349
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
      Exception table:
        from    to  target  type
           4     7       8  any
           8     9       8  any
          11    13      14  any
          14    15      14  any

  public void resetTemporaryCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 4355
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.temporaryCache:Ljava/lang/ThreadLocal;
            aconst_null
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 4356
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public void rollback(org.eclipse.core.resources.ISaveContext);
    descriptor: (Lorg/eclipse/core/resources/ISaveContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.ISaveContext context
         0: .line 4364
            return
        end local 1 // org.eclipse.core.resources.ISaveContext context
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  context  Lorg/eclipse/core/resources/ISaveContext;
    MethodParameters:
         Name  Flags
      context  

  private void saveState(org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo, org.eclipse.core.resources.ISaveContext);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;Lorg/eclipse/core/resources/ISaveContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        start local 2 // org.eclipse.core.resources.ISaveContext context
         0: .line 4369
            aload 2 /* context */
            invokeinterface org.eclipse.core.resources.ISaveContext.getKind:()I
            iconst_2
            if_icmpne 1
            return
         1: .line 4372
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.triedRead:Z
            ifeq 2
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveBuiltState:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)V
         2: .line 4373
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.core.resources.ISaveContext context
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    3     1     info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            0    3     2  context  Lorg/eclipse/core/resources/ISaveContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      info     
      context  

  private void saveBuiltState(org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         0: .line 4379
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 2
         1: .line 4380
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_saveStateProgress:Ljava/lang/String;
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 4381
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.project:Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getSerializationFile:(Lorg/eclipse/core/resources/IProject;)Ljava/io/File;
            astore 2 /* file */
        start local 2 // java.io.File file
         3: .line 4382
            aload 2 /* file */
            ifnonnull 4
            return
         4: .line 4383
      StackMap locals: java.io.File
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* t */
        start local 3 // long t
         5: .line 4385
            new java.io.DataOutputStream
            dup
            new java.io.BufferedOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 2 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 5 /* out */
        start local 5 // java.io.DataOutputStream out
         6: .line 4387
            aload 5 /* out */
            ldc "org.eclipse.jdt.core"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
         7: .line 4388
            aload 5 /* out */
            ldc "STATE"
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
         8: .line 4389
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.savedState:Ljava/lang/Object;
            ifnonnull 11
         9: .line 4390
            aload 5 /* out */
            iconst_0
            invokevirtual java.io.DataOutputStream.writeBoolean:(Z)V
        10: .line 4391
            goto 17
        11: .line 4392
      StackMap locals: long java.io.DataOutputStream
      StackMap stack:
            aload 5 /* out */
            iconst_1
            invokevirtual java.io.DataOutputStream.writeBoolean:(Z)V
        12: .line 4393
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.savedState:Ljava/lang/Object;
            aload 5 /* out */
            invokestatic org.eclipse.jdt.internal.core.builder.JavaBuilder.writeState:(Ljava/lang/Object;Ljava/io/DataOutputStream;)V
        13: .line 4395
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 6
        15: .line 4396
            aload 5 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
        16: .line 4397
            aload 6
            athrow
        17: .line 4396
      StackMap locals:
      StackMap stack:
            aload 5 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
        end local 5 // java.io.DataOutputStream out
        18: .line 4398
            goto 28
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.io.File long
      StackMap stack: java.lang.Exception
        19: astore 5 /* e */
        start local 5 // java.lang.Exception e
        20: .line 4400
            aload 2 /* file */
            invokevirtual java.io.File.delete:()Z
            pop
        21: .line 4401
            goto 23
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.io.File long java.lang.Exception
      StackMap stack: java.lang.SecurityException
        22: pop
        23: .line 4404
      StackMap locals:
      StackMap stack:
            new org.eclipse.core.runtime.CoreException
            dup
        24: .line 4405
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_2
        25: .line 4406
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_cannotSaveState:Ljava/lang/String;
            aload 1 /* info */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.project:Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            aload 5 /* e */
        26: .line 4405
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
        27: .line 4404
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 5 // java.lang.Exception e
        28: .line 4408
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.builder.JavaBuilder.DEBUG:Z
            ifeq 31
        29: .line 4409
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* t */
            lsub
            lstore 3 /* t */
        30: .line 4410
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_saveStateComplete:Ljava/lang/String;
            lload 3 /* t */
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 4412
      StackMap locals:
      StackMap stack:
            return
        end local 3 // long t
        end local 2 // java.io.File file
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   32     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   32     1  info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            3   32     2  file  Ljava/io/File;
            5   32     3     t  J
            6   18     5   out  Ljava/io/DataOutputStream;
           20   28     5     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           6    14      14  any
           5    18      19  Class java.lang.RuntimeException
           5    18      19  Class java.io.IOException
          20    21      22  Class java.lang.SecurityException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
      Name  Flags
      info  

  private void saveClasspathListCache(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String cacheName
         0: .line 4415
            aload 0 /* this */
            aload 1 /* cacheName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getClasspathListFile:(Ljava/lang/String;)Ljava/io/File;
            astore 2 /* file */
        start local 2 // java.io.File file
         1: .line 4416
            aconst_null
            astore 3 /* out */
        start local 3 // java.io.DataOutputStream out
         2: .line 4418
            new java.io.DataOutputStream
            dup
            new java.io.BufferedOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 2 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* out */
         3: .line 4419
            aload 0 /* this */
            aload 1 /* cacheName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getClasspathListCache:(Ljava/lang/String;)Ljava/util/Set;
            astore 4 /* pathCache */
        start local 4 // java.util.Set pathCache
         4: .line 4420
            aload 4 /* pathCache */
            dup
            astore 5
            monitorenter
         5: .line 4421
            aload 3 /* out */
            aload 4 /* pathCache */
            invokeinterface java.util.Set.size:()I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         6: .line 4422
            aload 4 /* pathCache */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* entries */
        start local 6 // java.util.Iterator entries
         7: .line 4423
            goto 10
         8: .line 4424
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.io.File java.io.DataOutputStream java.util.Set java.util.Set java.util.Iterator
      StackMap stack:
            aload 6 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 7 /* path */
        start local 7 // org.eclipse.core.runtime.IPath path
         9: .line 4425
            aload 3 /* out */
            aload 7 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toPortableString:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        end local 7 // org.eclipse.core.runtime.IPath path
        10: .line 4423
      StackMap locals:
      StackMap stack:
            aload 6 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 6 // java.util.Iterator entries
        11: .line 4420
            aload 5
            monitorexit
        12: goto 24
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.io.File java.io.DataOutputStream java.util.Set java.util.Set
      StackMap stack: java.lang.Throwable
        13: aload 5
            monitorexit
        14: athrow
        end local 4 // java.util.Set pathCache
        15: .line 4428
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.io.File java.io.DataOutputStream
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
        16: .line 4429
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_4
            ldc "Problems while saving non-chaining jar cache"
            aload 4 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 5 /* status */
        start local 5 // org.eclipse.core.runtime.IStatus status
        17: .line 4430
            new org.eclipse.core.runtime.CoreException
            dup
            aload 5 /* status */
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 5 // org.eclipse.core.runtime.IStatus status
        end local 4 // java.io.IOException e
        18: .line 4431
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        19: .line 4432
            aload 3 /* out */
            ifnull 23
        20: .line 4434
            aload 3 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
        21: .line 4435
            goto 23
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.io.File java.io.DataOutputStream top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        22: pop
        23: .line 4439
      StackMap locals:
      StackMap stack:
            aload 8
            athrow
        24: .line 4432
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String java.io.File java.io.DataOutputStream
      StackMap stack:
            aload 3 /* out */
            ifnull 28
        25: .line 4434
            aload 3 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
        26: .line 4435
            goto 28
      StackMap locals:
      StackMap stack: java.io.IOException
        27: pop
        28: .line 4440
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.DataOutputStream out
        end local 2 // java.io.File file
        end local 1 // java.lang.String cacheName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   29     0       this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   29     1  cacheName  Ljava/lang/String;
            1   29     2       file  Ljava/io/File;
            2   29     3        out  Ljava/io/DataOutputStream;
            4   15     4  pathCache  Ljava/util/Set<Lorg/eclipse/core/runtime/IPath;>;
            7   11     6    entries  Ljava/util/Iterator<Lorg/eclipse/core/runtime/IPath;>;
            9   10     7       path  Lorg/eclipse/core/runtime/IPath;
           16   18     4          e  Ljava/io/IOException;
           17   18     5     status  Lorg/eclipse/core/runtime/IStatus;
      Exception table:
        from    to  target  type
           5    12      13  any
          13    14      13  any
           2    15      15  Class java.io.IOException
           2    18      18  any
          20    21      22  Class java.io.IOException
          25    26      27  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
           Name  Flags
      cacheName  

  private void saveVariablesAndContainers(org.eclipse.core.resources.ISaveContext);
    descriptor: (Lorg/eclipse/core/resources/ISaveContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.ISaveContext context
         0: .line 4443
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getVariableAndContainersFile:()Ljava/io/File;
            astore 2 /* file */
        start local 2 // java.io.File file
         1: .line 4444
            aconst_null
            astore 3 /* out */
        start local 3 // java.io.DataOutputStream out
         2: .line 4446
            new java.io.DataOutputStream
            dup
            new java.io.BufferedOutputStream
            dup
            new java.io.FileOutputStream
            dup
            aload 2 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 3 /* out */
         3: .line 4447
            aload 3 /* out */
            iconst_2
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         4: .line 4448
            new org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersSaveHelper
            dup
            aload 0 /* this */
            aload 3 /* out */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersSaveHelper.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Ljava/io/DataOutputStream;)V
            aload 1 /* context */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersSaveHelper.save:(Lorg/eclipse/core/resources/ISaveContext;)V
         5: .line 4449
            goto 15
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.ISaveContext java.io.File java.io.DataOutputStream
      StackMap stack: java.io.IOException
         6: astore 4 /* e */
        start local 4 // java.io.IOException e
         7: .line 4450
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            ldc "org.eclipse.jdt.core"
            iconst_4
            ldc "Problems while saving variables and containers"
            aload 4 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 5 /* status */
        start local 5 // org.eclipse.core.runtime.IStatus status
         8: .line 4451
            new org.eclipse.core.runtime.CoreException
            dup
            aload 5 /* status */
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 5 // org.eclipse.core.runtime.IStatus status
        end local 4 // java.io.IOException e
         9: .line 4452
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        10: .line 4453
            aload 3 /* out */
            ifnull 14
        11: .line 4455
            aload 3 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
        12: .line 4456
            goto 14
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.ISaveContext java.io.File java.io.DataOutputStream top top java.lang.Throwable
      StackMap stack: java.io.IOException
        13: pop
        14: .line 4460
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        15: .line 4453
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.ISaveContext java.io.File java.io.DataOutputStream
      StackMap stack:
            aload 3 /* out */
            ifnull 19
        16: .line 4455
            aload 3 /* out */
            invokevirtual java.io.DataOutputStream.close:()V
        17: .line 4456
            goto 19
      StackMap locals:
      StackMap stack: java.io.IOException
        18: pop
        19: .line 4461
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.DataOutputStream out
        end local 2 // java.io.File file
        end local 1 // org.eclipse.core.resources.ISaveContext context
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   20     1  context  Lorg/eclipse/core/resources/ISaveContext;
            1   20     2     file  Ljava/io/File;
            2   20     3      out  Ljava/io/DataOutputStream;
            7    9     4        e  Ljava/io/IOException;
            8    9     5   status  Lorg/eclipse/core/runtime/IStatus;
      Exception table:
        from    to  target  type
           2     5       6  Class java.io.IOException
           2     9       9  any
          11    12      13  Class java.io.IOException
          16    17      18  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      context  

  private void traceVariableAndContainers(java.lang.String, long);
    descriptor: (Ljava/lang/String;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String action
        start local 2 // long start
         0: .line 4661
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* start */
            lsub
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 4 /* delta */
        start local 4 // java.lang.Long delta
         1: .line 4662
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getVariableAndContainersFile:()Ljava/io/File;
            invokevirtual java.io.File.length:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            astore 5 /* length */
        start local 5 // java.lang.Long length
         2: .line 4663
            ldc "{0} {1} bytes in variablesAndContainers.dat in {2}ms"
            astore 6 /* pattern */
        start local 6 // java.lang.String pattern
         3: .line 4664
            aload 6 /* pattern */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* action */
            aastore
            dup
            iconst_1
            aload 5 /* length */
            aastore
            dup
            iconst_2
            aload 4 /* delta */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* message */
        start local 7 // java.lang.String message
         4: .line 4666
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            aload 7 /* message */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 4667
            return
        end local 7 // java.lang.String message
        end local 6 // java.lang.String pattern
        end local 5 // java.lang.Long length
        end local 4 // java.lang.Long delta
        end local 2 // long start
        end local 1 // java.lang.String action
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    6     1   action  Ljava/lang/String;
            0    6     2    start  J
            1    6     4    delta  Ljava/lang/Long;
            2    6     5   length  Ljava/lang/Long;
            3    6     6  pattern  Ljava/lang/String;
            4    6     7  message  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      action  
      start   

  public void saving(org.eclipse.core.resources.ISaveContext);
    descriptor: (Lorg/eclipse/core/resources/ISaveContext;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.ISaveContext context
         0: .line 4675
            ldc -1
            lstore 2 /* start */
        start local 2 // long start
         1: .line 4676
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 3
         2: .line 4677
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
         3: .line 4680
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveVariablesAndContainers:(Lorg/eclipse/core/resources/ISaveContext;)V
         4: .line 4682
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 6
         5: .line 4683
            aload 0 /* this */
            ldc "Saved"
            lload 2 /* start */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.traceVariableAndContainers:(Ljava/lang/String;J)V
         6: .line 4685
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokeinterface org.eclipse.core.resources.ISaveContext.getKind:()I
            tableswitch { // 1 - 2
                    1: 7
                    2: 15
              default: 16
          }
         7: .line 4688
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "nonChainingJarsCache"
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveClasspathListCache:(Ljava/lang/String;)V
         8: .line 4689
            aload 0 /* this */
            ldc "externalFilesCache"
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveClasspathListCache:(Ljava/lang/String;)V
         9: .line 4690
            aload 0 /* this */
            ldc "assumedExternalFilesCache"
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveClasspathListCache:(Ljava/lang/String;)V
        10: .line 4693
            aload 1 /* context */
            invokeinterface org.eclipse.core.resources.ISaveContext.needDelta:()V
        11: .line 4697
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            astore 4 /* manager */
        start local 4 // org.eclipse.jdt.internal.core.search.indexing.IndexManager manager
        12: .line 4698
            aload 4 /* manager */
            ifnull 15
        13: .line 4701
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.workspaceScope:Lorg/eclipse/jdt/internal/core/search/JavaWorkspaceScope;
            ifnull 15
        14: .line 4702
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.cleanUpIndexes:()V
        end local 4 // org.eclipse.jdt.internal.core.search.indexing.IndexManager manager
        15: .line 4708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.externalFoldersManager:Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.cleanUp:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
        16: .line 4712
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokeinterface org.eclipse.core.resources.ISaveContext.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 4 /* savedProject */
        start local 4 // org.eclipse.core.resources.IProject savedProject
        17: .line 4713
            aload 4 /* savedProject */
            ifnull 22
        18: .line 4714
            aload 4 /* savedProject */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifne 19
            return
        19: .line 4715
      StackMap locals: org.eclipse.core.resources.IProject
      StackMap stack:
            aload 0 /* this */
            aload 4 /* savedProject */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 5 /* info */
        start local 5 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        20: .line 4716
            aload 0 /* this */
            aload 5 /* info */
            aload 1 /* context */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveState:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;Lorg/eclipse/core/resources/ISaveContext;)V
        21: .line 4717
            return
        end local 5 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        22: .line 4720
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* vStats */
        start local 5 // java.util.ArrayList vStats
        23: .line 4721
            aconst_null
            astore 6 /* values */
        start local 6 // java.util.ArrayList values
        24: .line 4722
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            dup
            astore 7
            monitorenter
        25: .line 4723
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.perProjectInfos:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 6 /* values */
        26: .line 4722
            aload 7
            monitorexit
        27: goto 30
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.ISaveContext long org.eclipse.core.resources.IProject java.util.ArrayList java.util.ArrayList java.util.Map
      StackMap stack: java.lang.Throwable
        28: aload 7
            monitorexit
        29: athrow
        30: .line 4725
      StackMap locals:
      StackMap stack:
            aload 6 /* values */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 7 /* iterator */
        start local 7 // java.util.Iterator iterator
        31: .line 4726
            goto 39
        32: .line 4728
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
            astore 8 /* info */
        start local 8 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        33: .line 4729
            aload 0 /* this */
            aload 8 /* info */
            aload 1 /* context */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.saveState:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;Lorg/eclipse/core/resources/ISaveContext;)V
        end local 8 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
        34: .line 4730
            goto 39
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        35: astore 8 /* e */
        start local 8 // org.eclipse.core.runtime.CoreException e
        36: .line 4731
            aload 5 /* vStats */
            ifnonnull 38
        37: .line 4732
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* vStats */
        38: .line 4733
      StackMap locals: org.eclipse.core.runtime.CoreException
      StackMap stack:
            aload 5 /* vStats */
            aload 8 /* e */
            invokevirtual org.eclipse.core.runtime.CoreException.getStatus:()Lorg/eclipse/core/runtime/IStatus;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.eclipse.core.runtime.CoreException e
        39: .line 4726
      StackMap locals:
      StackMap stack:
            aload 7 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 32
        40: .line 4736
            aload 5 /* vStats */
            ifnull 44
        41: .line 4737
            aload 5 /* vStats */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.core.runtime.IStatus
            astore 8 /* stats */
        start local 8 // org.eclipse.core.runtime.IStatus[] stats
        42: .line 4738
            aload 5 /* vStats */
            aload 8 /* stats */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        43: .line 4739
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.MultiStatus
            dup
            ldc "org.eclipse.jdt.core"
            iconst_4
            aload 8 /* stats */
            getstatic org.eclipse.jdt.internal.core.util.Messages.build_cannotSaveStates:Ljava/lang/String;
            aconst_null
            invokespecial org.eclipse.core.runtime.MultiStatus.<init>:(Ljava/lang/String;I[Lorg/eclipse/core/runtime/IStatus;Ljava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 8 // org.eclipse.core.runtime.IStatus[] stats
        44: .line 4743
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.saveExternalLibTimeStamps:()V
        45: .line 4745
            return
        end local 7 // java.util.Iterator iterator
        end local 6 // java.util.ArrayList values
        end local 5 // java.util.ArrayList vStats
        end local 4 // org.eclipse.core.resources.IProject savedProject
        end local 2 // long start
        end local 1 // org.eclipse.core.resources.ISaveContext context
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   46     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   46     1       context  Lorg/eclipse/core/resources/ISaveContext;
            1   46     2         start  J
           12   15     4       manager  Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
           17   46     4  savedProject  Lorg/eclipse/core/resources/IProject;
           20   22     5          info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           23   46     5        vStats  Ljava/util/ArrayList<Lorg/eclipse/core/runtime/IStatus;>;
           24   46     6        values  Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;>;
           31   46     7      iterator  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;>;
           33   34     8          info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           36   39     8             e  Lorg/eclipse/core/runtime/CoreException;
           42   44     8         stats  [Lorg/eclipse/core/runtime/IStatus;
      Exception table:
        from    to  target  type
          25    27      28  any
          28    29      28  any
          32    34      35  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      context  

  public void secondaryTypeAdding(java.lang.String, char[], char[]);
    descriptor: (Ljava/lang/String;[C[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=15, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String path
        start local 2 // char[] typeName
        start local 3 // char[] packageName
         0: .line 4756
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 11
         1: .line 4757
            new java.lang.StringBuffer
            dup
            ldc "JavaModelManager.addSecondaryType("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuffer buffer
         2: .line 4758
            aload 4 /* buffer */
            aload 1 /* path */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 4759
            aload 4 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 4760
            aload 4 /* buffer */
            bipush 91
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 4761
            aload 4 /* buffer */
            new java.lang.String
            dup
            aload 3 /* packageName */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 4762
            aload 4 /* buffer */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         7: .line 4763
            aload 4 /* buffer */
            new java.lang.String
            dup
            aload 2 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 4764
            aload 4 /* buffer */
            bipush 93
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 4765
            aload 4 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        10: .line 4766
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        end local 4 // java.lang.StringBuffer buffer
        11: .line 4768
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            astore 4 /* wRoot */
        start local 4 // org.eclipse.core.resources.IWorkspaceRoot wRoot
        12: .line 4769
            aload 4 /* wRoot */
            aload 1 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Ljava/lang/String;)Lorg/eclipse/core/resources/IResource;
            astore 5 /* resource */
        start local 5 // org.eclipse.core.resources.IResource resource
        13: .line 4770
            aload 5 /* resource */
            instanceof org.eclipse.core.resources.IFile
            ifeq 50
        14: .line 4771
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            ifeq 50
        15: .line 4772
            aload 5 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 6 /* project */
        start local 6 // org.eclipse.core.resources.IProject project
        16: .line 4774
            aload 0 /* this */
            aload 6 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 7 /* projectInfo */
        start local 7 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        17: .line 4777
            aload 7 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            ifnonnull 22
        18: .line 4778
            aload 7 /* projectInfo */
            new java.util.Hashtable
            dup
            iconst_3
            invokespecial java.util.Hashtable.<init>:(I)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
        19: .line 4779
            new java.util.HashMap
            dup
            iconst_3
            invokespecial java.util.HashMap.<init>:(I)V
            astore 8 /* indexedSecondaryTypes */
        start local 8 // java.util.Map indexedSecondaryTypes
        20: .line 4780
            aload 7 /* projectInfo */
            aload 8 /* indexedSecondaryTypes */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
        21: .line 4781
            goto 26
        end local 8 // java.util.Map indexedSecondaryTypes
        22: .line 4782
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String char[] char[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 7 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
            astore 8 /* indexedSecondaryTypes */
        start local 8 // java.util.Map indexedSecondaryTypes
        23: .line 4783
            aload 8 /* indexedSecondaryTypes */
            ifnonnull 26
        24: .line 4784
            new java.util.HashMap
            dup
            iconst_3
            invokespecial java.util.HashMap.<init>:(I)V
            astore 8 /* indexedSecondaryTypes */
        25: .line 4785
            aload 7 /* projectInfo */
            aload 8 /* indexedSecondaryTypes */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
        26: .line 4789
      StackMap locals: java.util.Map
      StackMap stack:
            aload 8 /* indexedSecondaryTypes */
            aload 5 /* resource */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 9 /* allTypes */
        start local 9 // java.util.Map allTypes
        27: .line 4790
            aload 9 /* allTypes */
            ifnonnull 30
        28: .line 4791
            new java.util.HashMap
            dup
            iconst_3
            invokespecial java.util.HashMap.<init>:(I)V
            astore 9 /* allTypes */
        29: .line 4792
            aload 8 /* indexedSecondaryTypes */
            aload 5 /* resource */
            checkcast org.eclipse.core.resources.IFile
            aload 9 /* allTypes */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 4794
      StackMap locals: java.util.Map
      StackMap stack:
            aload 5 /* resource */
            checkcast org.eclipse.core.resources.IFile
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.createCompilationUnitFrom:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 10 /* unit */
        start local 10 // org.eclipse.jdt.core.ICompilationUnit unit
        31: .line 4795
            aload 10 /* unit */
            ifnull 40
        32: .line 4796
            new java.lang.String
            dup
            aload 2 /* typeName */
            invokespecial java.lang.String.<init>:([C)V
            astore 11 /* typeString */
        start local 11 // java.lang.String typeString
        33: .line 4797
            aload 10 /* unit */
            aload 11 /* typeString */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            astore 12 /* type */
        start local 12 // org.eclipse.jdt.core.IType type
        34: .line 4801
            aload 12 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getPackageFragment:()Lorg/eclipse/jdt/core/IPackageFragment;
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getElementName:()Ljava/lang/String;
            astore 13 /* packageString */
        start local 13 // java.lang.String packageString
        35: .line 4802
            aload 9 /* allTypes */
            aload 13 /* packageString */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 14 /* packageTypes */
        start local 14 // java.util.Map packageTypes
        36: .line 4803
            aload 14 /* packageTypes */
            ifnonnull 39
        37: .line 4804
            new java.util.HashMap
            dup
            iconst_3
            invokespecial java.util.HashMap.<init>:(I)V
            astore 14 /* packageTypes */
        38: .line 4805
            aload 9 /* allTypes */
            aload 13 /* packageString */
            aload 14 /* packageTypes */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 4807
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String char[] char[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Map java.util.Map org.eclipse.jdt.core.ICompilationUnit java.lang.String org.eclipse.jdt.core.IType java.lang.String java.util.Map
      StackMap stack:
            aload 14 /* packageTypes */
            aload 11 /* typeString */
            aload 12 /* type */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 14 // java.util.Map packageTypes
        end local 13 // java.lang.String packageString
        end local 12 // org.eclipse.jdt.core.IType type
        end local 11 // java.lang.String typeString
        40: .line 4809
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String char[] char[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Map java.util.Map org.eclipse.jdt.core.ICompilationUnit
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 50
        41: .line 4810
            ldc "\t- indexing cache:"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        42: .line 4811
            aload 8 /* indexedSecondaryTypes */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* entries */
        start local 11 // java.util.Iterator entries
        43: .line 4812
            goto 47
        44: .line 4813
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 11 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 12 /* entry */
        start local 12 // java.util.Map$Entry entry
        45: .line 4814
            aload 12 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.core.resources.IFile
            astore 13 /* file */
        start local 13 // org.eclipse.core.resources.IFile file
        46: .line 4815
            new java.lang.StringBuilder
            dup
            ldc "\t\t+ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 12 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            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.verbose:(Ljava/lang/String;)V
        end local 13 // org.eclipse.core.resources.IFile file
        end local 12 // java.util.Map$Entry entry
        47: .line 4812
      StackMap locals:
      StackMap stack:
            aload 11 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 44
        end local 11 // java.util.Iterator entries
        end local 10 // org.eclipse.jdt.core.ICompilationUnit unit
        end local 9 // java.util.Map allTypes
        end local 8 // java.util.Map indexedSecondaryTypes
        end local 7 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        48: .line 4818
            goto 50
        49: .line 4819
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String char[] char[] org.eclipse.core.resources.IWorkspaceRoot org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        end local 6 // org.eclipse.core.resources.IProject project
        50: .line 4824
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.eclipse.core.resources.IResource resource
        end local 4 // org.eclipse.core.resources.IWorkspaceRoot wRoot
        end local 3 // char[] packageName
        end local 2 // char[] typeName
        end local 1 // java.lang.String path
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   51     0                   this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   51     1                   path  Ljava/lang/String;
            0   51     2               typeName  [C
            0   51     3            packageName  [C
            2   11     4                 buffer  Ljava/lang/StringBuffer;
           12   51     4                  wRoot  Lorg/eclipse/core/resources/IWorkspaceRoot;
           13   51     5               resource  Lorg/eclipse/core/resources/IResource;
           16   50     6                project  Lorg/eclipse/core/resources/IProject;
           17   48     7            projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           20   22     8  indexedSecondaryTypes  Ljava/util/Map<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           23   48     8  indexedSecondaryTypes  Ljava/util/Map<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           27   48     9               allTypes  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           31   48    10                   unit  Lorg/eclipse/jdt/core/ICompilationUnit;
           33   40    11             typeString  Ljava/lang/String;
           34   40    12                   type  Lorg/eclipse/jdt/core/IType;
           35   40    13          packageString  Ljava/lang/String;
           36   40    14           packageTypes  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           43   48    11                entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;>;
           45   47    12                  entry  Ljava/util/Map$Entry<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           46   47    13                   file  Lorg/eclipse/core/resources/IFile;
      Exception table:
        from    to  target  type
          16    48      49  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      path         
      typeName     
      packageName  

  public java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.eclipse.jdt.core.IType>> secondaryTypes(org.eclipse.jdt.core.IJavaProject, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // boolean waitForIndexes
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 4848
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 7
         1: .line 4849
            new java.lang.StringBuffer
            dup
            ldc "JavaModelManager.secondaryTypes("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuffer buffer
         2: .line 4850
            aload 4 /* buffer */
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 4851
            aload 4 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 4852
            aload 4 /* buffer */
            iload 2 /* waitForIndexes */
            invokevirtual java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;
            pop
         5: .line 4853
            aload 4 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 4854
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        end local 4 // java.lang.StringBuffer buffer
         7: .line 4858
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfoCheckExistence:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 4 /* projectInfo */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
         8: .line 4859
            aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            ifnonnull 9
            aconst_null
            goto 10
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
         9: aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
        10: astore 5 /* indexingSecondaryCache */
        start local 5 // java.util.Map indexingSecondaryCache
        11: .line 4860
            aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            ifnull 13
            aload 5 /* indexingSecondaryCache */
            ifnonnull 13
        12: .line 4861
            aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            areturn
        13: .line 4865
      StackMap locals: java.util.Map
      StackMap stack:
            aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            ifnonnull 15
        14: .line 4866
            aload 1 /* project */
            iload 2 /* waitForIndexes */
            aload 3 /* monitor */
            aload 4 /* projectInfo */
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesSearching:(Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)Ljava/util/Map;
            areturn
        15: .line 4871
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.awaitingJobsCount:()I
            ifle 16
            iconst_1
            goto 17
      StackMap locals:
      StackMap stack:
        16: iconst_0
      StackMap locals:
      StackMap stack: int
        17: istore 6 /* indexing */
        start local 6 // boolean indexing
        18: .line 4872
            iload 6 /* indexing */
            ifeq 27
        19: .line 4873
            iload 2 /* waitForIndexes */
            ifne 21
        20: .line 4875
            aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            areturn
        21: .line 4880
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            new org.eclipse.jdt.internal.core.JavaModelManager$16
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$16.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
        22: .line 4906
            iconst_3
            aload 3 /* monitor */
        23: .line 4880
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.performConcurrentJob:(Lorg/eclipse/jdt/internal/core/search/processing/IJob;ILorg/eclipse/core/runtime/IProgressMonitor;)Z
            pop
        24: .line 4907
            goto 27
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.OperationCanceledException
        25: pop
        26: .line 4908
            aload 4 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            areturn
        27: .line 4913
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* projectInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesMerging:(Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)Ljava/util/Map;
            areturn
        end local 6 // boolean indexing
        end local 5 // java.util.Map indexingSecondaryCache
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // boolean waitForIndexes
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   28     0                    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   28     1                 project  Lorg/eclipse/jdt/core/IJavaProject;
            0   28     2          waitForIndexes  Z
            0   28     3                 monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            2    7     4                  buffer  Ljava/lang/StringBuffer;
            8   28     4             projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           11   28     5  indexingSecondaryCache  Ljava/util/Map<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           18   28     6                indexing  Z
      Exception table:
        from    to  target  type
          21    24      25  Class org.eclipse.core.runtime.OperationCanceledException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
    MethodParameters:
                Name  Flags
      project         
      waitForIndexes  
      monitor         

  private java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.eclipse.jdt.core.IType>> secondaryTypesMerging(org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=16, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
         0: .line 4921
            aload 1 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            astore 2 /* secondaryTypes */
        start local 2 // java.util.Map secondaryTypes
         1: .line 4922
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 10
         2: .line 4923
            ldc "JavaModelManager.getSecondaryTypesMerged()"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         3: .line 4924
            ldc "\t- current cache to merge:"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
         4: .line 4925
            aload 2 /* secondaryTypes */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* entries */
        start local 3 // java.util.Iterator entries
         5: .line 4926
            goto 9
         6: .line 4927
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         7: .line 4928
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* packName */
        start local 5 // java.lang.String packName
         8: .line 4929
            new java.lang.StringBuilder
            dup
            ldc "\t\t+ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* packName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            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.verbose:(Ljava/lang/String;)V
        end local 5 // java.lang.String packName
        end local 4 // java.util.Map$Entry entry
         9: .line 4926
      StackMap locals:
      StackMap stack:
            aload 3 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // java.util.Iterator entries
        10: .line 4934
      StackMap locals:
      StackMap stack:
            aload 1 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
            astore 3 /* indexedSecondaryTypes */
        start local 3 // java.util.Map indexedSecondaryTypes
        11: .line 4935
            aload 1 /* projectInfo */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
        12: .line 4936
            aload 3 /* indexedSecondaryTypes */
            ifnonnull 14
        13: .line 4937
            aload 2 /* secondaryTypes */
            areturn
        14: .line 4941
      StackMap locals: java.util.Map
      StackMap stack:
            aload 3 /* indexedSecondaryTypes */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* entries */
        start local 4 // java.util.Iterator entries
        15: .line 4942
            goto 36
        16: .line 4943
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
        17: .line 4944
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.core.resources.IFile
            astore 6 /* file */
        start local 6 // org.eclipse.core.resources.IFile file
        18: .line 4947
            aload 0 /* this */
            aload 2 /* secondaryTypes */
            aload 6 /* file */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesRemoving:(Ljava/util/Map;Lorg/eclipse/core/resources/IFile;)V
        19: .line 4950
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 7 /* fileSecondaryTypes */
        start local 7 // java.util.Map fileSecondaryTypes
        20: .line 4951
            aload 7 /* fileSecondaryTypes */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* entries2 */
        start local 8 // java.util.Iterator entries2
        21: .line 4952
            goto 35
        22: .line 4953
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Map java.util.Map java.util.Iterator java.util.Map$Entry org.eclipse.core.resources.IFile java.util.Map java.util.Iterator
      StackMap stack:
            aload 8 /* entries2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* entry2 */
        start local 9 // java.util.Map$Entry entry2
        23: .line 4954
            aload 9 /* entry2 */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* packageName */
        start local 10 // java.lang.String packageName
        24: .line 4955
            aload 2 /* secondaryTypes */
            aload 10 /* packageName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 11 /* cachedTypes */
        start local 11 // java.util.Map cachedTypes
        25: .line 4956
            aload 11 /* cachedTypes */
            ifnonnull 28
        26: .line 4957
            aload 2 /* secondaryTypes */
            aload 10 /* packageName */
            aload 9 /* entry2 */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 4958
            goto 35
        28: .line 4959
      StackMap locals: java.util.Map$Entry java.lang.String java.util.Map
      StackMap stack:
            aload 9 /* entry2 */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 12 /* types */
        start local 12 // java.util.Map types
        29: .line 4960
            aload 12 /* types */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 13 /* entries3 */
        start local 13 // java.util.Iterator entries3
        30: .line 4961
            goto 34
        31: .line 4962
      StackMap locals: java.util.Map java.util.Iterator
      StackMap stack:
            aload 13 /* entries3 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 14 /* entry3 */
        start local 14 // java.util.Map$Entry entry3
        32: .line 4963
            aload 14 /* entry3 */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 15 /* typeName */
        start local 15 // java.lang.String typeName
        33: .line 4964
            aload 11 /* cachedTypes */
            aload 15 /* typeName */
            aload 14 /* entry3 */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // java.lang.String typeName
        end local 14 // java.util.Map$Entry entry3
        34: .line 4961
      StackMap locals:
      StackMap stack:
            aload 13 /* entries3 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        end local 13 // java.util.Iterator entries3
        end local 12 // java.util.Map types
        end local 11 // java.util.Map cachedTypes
        end local 10 // java.lang.String packageName
        end local 9 // java.util.Map$Entry entry2
        35: .line 4952
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Map java.util.Map java.util.Iterator java.util.Map$Entry org.eclipse.core.resources.IFile java.util.Map java.util.Iterator
      StackMap stack:
            aload 8 /* entries2 */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        end local 8 // java.util.Iterator entries2
        end local 7 // java.util.Map fileSecondaryTypes
        end local 6 // org.eclipse.core.resources.IFile file
        end local 5 // java.util.Map$Entry entry
        36: .line 4942
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Map java.util.Map java.util.Iterator
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        37: .line 4969
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 45
        38: .line 4970
            ldc "\t- secondary types cache merged:"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        39: .line 4971
            aload 2 /* secondaryTypes */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5 /* entries2 */
        start local 5 // java.util.Iterator entries2
        40: .line 4972
            goto 44
        41: .line 4973
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 5 /* entries2 */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* entry */
        start local 6 // java.util.Map$Entry entry
        42: .line 4974
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* packName */
        start local 7 // java.lang.String packName
        43: .line 4975
            new java.lang.StringBuilder
            dup
            ldc "\t\t+ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* packName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 6 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            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.verbose:(Ljava/lang/String;)V
        end local 7 // java.lang.String packName
        end local 6 // java.util.Map$Entry entry
        44: .line 4972
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 41
        end local 5 // java.util.Iterator entries2
        45: .line 4978
      StackMap locals:
      StackMap stack:
            aload 2 /* secondaryTypes */
            areturn
        end local 4 // java.util.Iterator entries
        end local 3 // java.util.Map indexedSecondaryTypes
        end local 2 // java.util.Map secondaryTypes
        end local 1 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   46     0                   this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   46     1            projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            1   46     2         secondaryTypes  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
            5   10     3                entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
            7    9     4                  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
            8    9     5               packName  Ljava/lang/String;
           11   46     3  indexedSecondaryTypes  Ljava/util/Map<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           15   46     4                entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;>;
           17   36     5                  entry  Ljava/util/Map$Entry<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           18   36     6                   file  Lorg/eclipse/core/resources/IFile;
           20   36     7     fileSecondaryTypes  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           21   36     8               entries2  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           23   35     9                 entry2  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           24   35    10            packageName  Ljava/lang/String;
           25   35    11            cachedTypes  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           29   35    12                  types  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           30   35    13               entries3  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           32   34    14                 entry3  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           33   34    15               typeName  Ljava/lang/String;
           40   45     5               entries2  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           42   44     6                  entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           43   44     7               packName  Ljava/lang/String;
    Signature: (Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
    MethodParameters:
             Name  Flags
      projectInfo  

  private static java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.eclipse.jdt.core.IType>> secondaryTypesSearching(org.eclipse.jdt.core.IJavaProject, boolean, org.eclipse.core.runtime.IProgressMonitor, org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=23, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // boolean waitForIndexes
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
         0: .line 4986
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifne 1
            getstatic org.eclipse.jdt.internal.core.search.BasicSearchEngine.VERBOSE:Z
            ifeq 7
         1: .line 4987
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            ldc "JavaModelManager.secondaryTypesSearch("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* buffer */
        start local 4 // java.lang.StringBuffer buffer
         2: .line 4988
            aload 4 /* buffer */
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 4989
            aload 4 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 4990
            aload 4 /* buffer */
            iload 1 /* waitForIndexes */
            invokevirtual java.lang.StringBuffer.append:(Z)Ljava/lang/StringBuffer;
            pop
         5: .line 4991
            aload 4 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 4992
            aload 4 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        end local 4 // java.lang.StringBuffer buffer
         7: .line 4995
      StackMap locals:
      StackMap stack:
            new java.util.Hashtable
            dup
            iconst_3
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 4 /* secondaryTypesSearch */
        start local 4 // java.util.Hashtable secondaryTypesSearch
         8: .line 4996
            new org.eclipse.jdt.internal.core.JavaModelManager$17
            dup
            aload 4 /* secondaryTypesSearch */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$17.<init>:(Ljava/util/Hashtable;)V
            astore 5 /* nameRequestor */
        start local 5 // org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor nameRequestor
         9: .line 5008
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getAllPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 6 /* allRoots */
        start local 6 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        10: .line 5009
            aload 6 /* allRoots */
            arraylength
            istore 7 /* length */
        start local 7 // int length
        11: iconst_0
            istore 8 /* size */
        start local 8 // int size
        12: .line 5010
            iload 7 /* length */
            anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            astore 9 /* allSourceFolders */
        start local 9 // org.eclipse.jdt.core.IPackageFragmentRoot[] allSourceFolders
        13: .line 5011
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        14: goto 18
        15: .line 5012
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor org.eclipse.jdt.core.IPackageFragmentRoot[] int int org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 6 /* allRoots */
            iload 10 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getKind:()I
            iconst_1
            if_icmpne 17
        16: .line 5013
            aload 9 /* allSourceFolders */
            iload 8 /* size */
            iinc 8 /* size */ 1
            aload 6 /* allRoots */
            iload 10 /* i */
            aaload
            aastore
        17: .line 5011
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 10 /* i */
            iload 7 /* length */
            if_icmplt 15
        end local 10 // int i
        19: .line 5016
            iload 8 /* size */
            iload 7 /* length */
            if_icmpge 21
        20: .line 5017
            aload 9 /* allSourceFolders */
            iconst_0
            iload 8 /* size */
            anewarray org.eclipse.jdt.core.IPackageFragmentRoot
            dup
            astore 9 /* allSourceFolders */
            iconst_0
            iload 8 /* size */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        21: .line 5021
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.search.BasicSearchEngine
            dup
            invokespecial org.eclipse.jdt.internal.core.search.BasicSearchEngine.<init>:()V
            aload 9 /* allSourceFolders */
            aload 5 /* nameRequestor */
            iload 1 /* waitForIndexes */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.search.BasicSearchEngine.searchAllSecondaryTypeNames:([Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
        22: .line 5024
            new java.util.Hashtable
            dup
            aload 4 /* secondaryTypesSearch */
            invokevirtual java.util.Hashtable.size:()I
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 10 /* secondaryTypes */
        start local 10 // java.util.Hashtable secondaryTypes
        23: .line 5025
            aload 4 /* secondaryTypesSearch */
            invokevirtual java.util.Hashtable.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 12
            goto 39
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor org.eclipse.jdt.core.IPackageFragmentRoot[] int int org.eclipse.jdt.core.IPackageFragmentRoot[] java.util.Hashtable top java.util.Iterator
      StackMap stack:
        24: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 11 /* packageEntry */
        start local 11 // java.util.Map$Entry packageEntry
        25: .line 5026
            aload 11 /* packageEntry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* packageName */
        start local 13 // java.lang.String packageName
        26: .line 5027
            aload 11 /* packageEntry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 14 /* types */
        start local 14 // java.util.Map types
        27: .line 5028
            new java.util.HashMap
            dup
            aload 14 /* types */
            invokeinterface java.util.Map.size:()I
            invokespecial java.util.HashMap.<init>:(I)V
            astore 15 /* tempTypes */
        start local 15 // java.util.Map tempTypes
        28: .line 5029
            aload 14 /* types */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 17
            goto 37
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor org.eclipse.jdt.core.IPackageFragmentRoot[] int int org.eclipse.jdt.core.IPackageFragmentRoot[] java.util.Hashtable java.util.Map$Entry java.util.Iterator java.lang.String java.util.Map java.util.Map top java.util.Iterator
      StackMap stack:
        29: aload 17
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 16 /* entry */
        start local 16 // java.util.Map$Entry entry
        30: .line 5030
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 18 /* typeName */
        start local 18 // java.lang.String typeName
        31: .line 5031
            aload 16 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 19 /* path */
        start local 19 // java.lang.String path
        32: .line 5032
            aload 19 /* path */
            invokestatic org.eclipse.jdt.internal.core.util.Util.isJavaLikeFileName:(Ljava/lang/String;)Z
            ifeq 37
        33: .line 5033
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            new org.eclipse.core.runtime.Path
            dup
            aload 19 /* path */
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getFile:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFile;
            astore 20 /* file */
        start local 20 // org.eclipse.core.resources.IFile file
        34: .line 5034
            aload 20 /* file */
            aconst_null
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.createCompilationUnitFrom:(Lorg/eclipse/core/resources/IFile;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jdt/core/ICompilationUnit;
            astore 21 /* unit */
        start local 21 // org.eclipse.jdt.core.ICompilationUnit unit
        35: .line 5035
            aload 21 /* unit */
            aload 18 /* typeName */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getType:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IType;
            astore 22 /* type */
        start local 22 // org.eclipse.jdt.core.IType type
        36: .line 5036
            aload 15 /* tempTypes */
            aload 18 /* typeName */
            aload 22 /* type */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 22 // org.eclipse.jdt.core.IType type
        end local 21 // org.eclipse.jdt.core.ICompilationUnit unit
        end local 20 // org.eclipse.core.resources.IFile file
        end local 19 // java.lang.String path
        end local 18 // java.lang.String typeName
        end local 16 // java.util.Map$Entry entry
        37: .line 5029
      StackMap locals:
      StackMap stack:
            aload 17
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        38: .line 5039
            aload 10 /* secondaryTypes */
            aload 13 /* packageName */
            aload 15 /* tempTypes */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // java.util.Map tempTypes
        end local 14 // java.util.Map types
        end local 13 // java.lang.String packageName
        end local 11 // java.util.Map$Entry packageEntry
        39: .line 5025
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor org.eclipse.jdt.core.IPackageFragmentRoot[] int int org.eclipse.jdt.core.IPackageFragmentRoot[] java.util.Hashtable top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        40: .line 5043
            aload 3 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            ifnull 41
            aload 3 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
            ifnull 51
        41: .line 5044
      StackMap locals: org.eclipse.jdt.core.IJavaProject int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Hashtable org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor org.eclipse.jdt.core.IPackageFragmentRoot[] int int org.eclipse.jdt.core.IPackageFragmentRoot[] java.util.Hashtable
      StackMap stack:
            aload 3 /* projectInfo */
            aload 10 /* secondaryTypes */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
        42: .line 5045
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifne 43
            getstatic org.eclipse.jdt.internal.core.search.BasicSearchEngine.VERBOSE:Z
            ifeq 51
        43: .line 5046
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\t-> secondary paths stored in cache: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
        44: .line 5047
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.println:()V
        45: .line 5048
            aload 10 /* secondaryTypes */
            invokevirtual java.util.Hashtable.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* entries */
        start local 11 // java.util.Iterator entries
        46: .line 5049
            goto 50
        47: .line 5050
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 11 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 12 /* entry */
        start local 12 // java.util.Map$Entry entry
        48: .line 5051
            aload 12 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* qualifiedName */
        start local 13 // java.lang.String qualifiedName
        49: .line 5052
            new java.lang.StringBuilder
            dup
            ldc "\t\t- "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* qualifiedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 45
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 12 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            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.verbose:(Ljava/lang/String;)V
        end local 13 // java.lang.String qualifiedName
        end local 12 // java.util.Map$Entry entry
        50: .line 5049
      StackMap locals:
      StackMap stack:
            aload 11 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 47
        end local 11 // java.util.Iterator entries
        51: .line 5056
      StackMap locals:
      StackMap stack:
            aload 3 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            areturn
        end local 10 // java.util.Hashtable secondaryTypes
        end local 9 // org.eclipse.jdt.core.IPackageFragmentRoot[] allSourceFolders
        end local 8 // int size
        end local 7 // int length
        end local 6 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        end local 5 // org.eclipse.jdt.internal.core.search.IRestrictedAccessTypeRequestor nameRequestor
        end local 4 // java.util.Hashtable secondaryTypesSearch
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // boolean waitForIndexes
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   52     0               project  Lorg/eclipse/jdt/core/IJavaProject;
            0   52     1        waitForIndexes  Z
            0   52     2               monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            0   52     3           projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            2    7     4                buffer  Ljava/lang/StringBuffer;
            8   52     4  secondaryTypesSearch  Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
            9   52     5         nameRequestor  Lorg/eclipse/jdt/internal/core/search/IRestrictedAccessTypeRequestor;
           10   52     6              allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           11   52     7                length  I
           12   52     8                  size  I
           13   52     9      allSourceFolders  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           14   19    10                     i  I
           23   52    10        secondaryTypes  Ljava/util/Hashtable<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           25   39    11          packageEntry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
           26   39    13           packageName  Ljava/lang/String;
           27   39    14                 types  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
           28   39    15             tempTypes  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           30   37    16                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           31   37    18              typeName  Ljava/lang/String;
           32   37    19                  path  Ljava/lang/String;
           34   37    20                  file  Lorg/eclipse/core/resources/IFile;
           35   37    21                  unit  Lorg/eclipse/jdt/core/ICompilationUnit;
           36   37    22                  type  Lorg/eclipse/jdt/core/IType;
           46   51    11               entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           48   50    12                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           49   50    13         qualifiedName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/core/IJavaProject;ZLorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;)Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
    MethodParameters:
                Name  Flags
      project         
      waitForIndexes  
      monitor         
      projectInfo     final

  public void secondaryTypesRemoving(org.eclipse.core.resources.IFile, boolean);
    descriptor: (Lorg/eclipse/core/resources/IFile;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IFile file
        start local 2 // boolean cleanIndexCache
         0: .line 5068
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 5
         1: .line 5069
            new java.lang.StringBuffer
            dup
            ldc "JavaModelManager.removeFromSecondaryTypesCache("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuffer buffer
         2: .line 5070
            aload 3 /* buffer */
            aload 1 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 5071
            aload 3 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         4: .line 5072
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        end local 3 // java.lang.StringBuffer buffer
         5: .line 5074
      StackMap locals:
      StackMap stack:
            aload 1 /* file */
            ifnull 35
         6: .line 5075
            aload 0 /* this */
            aload 1 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 3 /* projectInfo */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
         7: .line 5076
            aload 3 /* projectInfo */
            ifnull 35
            aload 3 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            ifnull 35
         8: .line 5077
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 10
         9: .line 5078
            new java.lang.StringBuilder
            dup
            ldc "-> remove file from cache of project: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getName:()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.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        10: .line 5082
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo
      StackMap stack:
            aload 0 /* this */
            aload 3 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
            aload 1 /* file */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.secondaryTypesRemoving:(Ljava/util/Map;Lorg/eclipse/core/resources/IFile;)V
        11: .line 5085
            aload 3 /* projectInfo */
            getfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
            astore 4 /* indexingCache */
        start local 4 // java.util.Map indexingCache
        12: .line 5086
            iload 2 /* cleanIndexCache */
            ifne 16
        13: .line 5087
            aload 4 /* indexingCache */
            ifnonnull 15
        14: .line 5090
            aload 3 /* projectInfo */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.indexingSecondaryCache:Ljava/util/Map;
        15: .line 5092
      StackMap locals: java.util.Map
      StackMap stack:
            return
        16: .line 5094
      StackMap locals:
      StackMap stack:
            aload 4 /* indexingCache */
            ifnull 35
        17: .line 5095
            aload 4 /* indexingCache */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            astore 5 /* keys */
        start local 5 // java.util.Set keys
        18: .line 5096
            aload 5 /* keys */
            invokeinterface java.util.Set.size:()I
            istore 6 /* filesSize */
        start local 6 // int filesSize
        19: iconst_0
            istore 7 /* filesCount */
        start local 7 // int filesCount
        20: .line 5097
            aconst_null
            astore 8 /* removed */
        start local 8 // org.eclipse.core.resources.IFile[] removed
        21: .line 5098
            aload 5 /* keys */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9 /* cachedFiles */
        start local 9 // java.util.Iterator cachedFiles
        22: .line 5099
            goto 28
        23: .line 5100
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.IFile int org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo java.util.Map java.util.Set int int org.eclipse.core.resources.IFile[] java.util.Iterator
      StackMap stack:
            aload 9 /* cachedFiles */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.core.resources.IFile
            astore 10 /* cachedFile */
        start local 10 // org.eclipse.core.resources.IFile cachedFile
        24: .line 5101
            aload 1 /* file */
            aload 10 /* cachedFile */
            invokeinterface org.eclipse.core.resources.IFile.equals:(Ljava/lang/Object;)Z
            ifeq 28
        25: .line 5102
            aload 8 /* removed */
            ifnonnull 26
            iload 6 /* filesSize */
            anewarray org.eclipse.core.resources.IFile
            astore 8 /* removed */
        26: .line 5103
      StackMap locals: org.eclipse.core.resources.IFile
      StackMap stack:
            iinc 6 /* filesSize */ -1
        27: .line 5104
            aload 8 /* removed */
            iload 7 /* filesCount */
            iinc 7 /* filesCount */ 1
            aload 10 /* cachedFile */
            aastore
        end local 10 // org.eclipse.core.resources.IFile cachedFile
        28: .line 5099
      StackMap locals:
      StackMap stack:
            aload 9 /* cachedFiles */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        29: .line 5107
            aload 8 /* removed */
            ifnull 35
        30: .line 5108
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        31: goto 34
        32: .line 5109
      StackMap locals: int
      StackMap stack:
            aload 4 /* indexingCache */
            aload 8 /* removed */
            iload 10 /* i */
            aaload
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 5108
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 10 /* i */
            iload 7 /* filesCount */
            if_icmplt 32
        end local 10 // int i
        end local 9 // java.util.Iterator cachedFiles
        end local 8 // org.eclipse.core.resources.IFile[] removed
        end local 7 // int filesCount
        end local 6 // int filesSize
        end local 5 // java.util.Set keys
        end local 4 // java.util.Map indexingCache
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        35: .line 5115
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.resources.IFile int
      StackMap stack:
            return
        end local 2 // boolean cleanIndexCache
        end local 1 // org.eclipse.core.resources.IFile file
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   36     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   36     1             file  Lorg/eclipse/core/resources/IFile;
            0   36     2  cleanIndexCache  Z
            2    5     3           buffer  Ljava/lang/StringBuffer;
            7   35     3      projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
           12   35     4    indexingCache  Ljava/util/Map<Lorg/eclipse/core/resources/IFile;Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           18   35     5             keys  Ljava/util/Set<Lorg/eclipse/core/resources/IFile;>;
           19   35     6        filesSize  I
           20   35     7       filesCount  I
           21   35     8          removed  [Lorg/eclipse/core/resources/IFile;
           22   35     9      cachedFiles  Ljava/util/Iterator<Lorg/eclipse/core/resources/IFile;>;
           24   28    10       cachedFile  Lorg/eclipse/core/resources/IFile;
           31   35    10                i  I
    MethodParameters:
                 Name  Flags
      file             
      cleanIndexCache  

  private void secondaryTypesRemoving(java.util.Map<java.lang.String, java.util.Map<java.lang.String, org.eclipse.jdt.core.IType>>, org.eclipse.core.resources.IFile);
    descriptor: (Ljava/util/Map;Lorg/eclipse/core/resources/IFile;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=19, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.util.Map secondaryTypesMap
        start local 2 // org.eclipse.core.resources.IFile file
         0: .line 5122
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 12
         1: .line 5123
            new java.lang.StringBuffer
            dup
            ldc "JavaModelManager.removeSecondaryTypesFromMap("
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 3 /* buffer */
        start local 3 // java.lang.StringBuffer buffer
         2: .line 5124
            aload 1 /* secondaryTypesMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* entries */
        start local 4 // java.util.Iterator entries
         3: .line 5125
            goto 7
         4: .line 5126
      StackMap locals: java.lang.StringBuffer java.util.Iterator
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         5: .line 5127
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* qualifiedName */
        start local 6 // java.lang.String qualifiedName
         6: .line 5128
            aload 3 /* buffer */
            new java.lang.StringBuilder
            dup
            aload 6 /* qualifiedName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // java.lang.String qualifiedName
        end local 5 // java.util.Map$Entry entry
         7: .line 5125
      StackMap locals:
      StackMap stack:
            aload 4 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 5130
            aload 3 /* buffer */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         9: .line 5131
            aload 3 /* buffer */
            aload 2 /* file */
            invokeinterface org.eclipse.core.resources.IFile.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        10: .line 5132
            aload 3 /* buffer */
            bipush 41
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        11: .line 5133
            aload 3 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        end local 4 // java.util.Iterator entries
        end local 3 // java.lang.StringBuffer buffer
        12: .line 5135
      StackMap locals:
      StackMap stack:
            aload 1 /* secondaryTypesMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 3 /* packageEntries */
        start local 3 // java.util.Set packageEntries
        13: .line 5136
            aload 3 /* packageEntries */
            invokeinterface java.util.Set.size:()I
            istore 4 /* packagesSize */
        start local 4 // int packagesSize
        14: iconst_0
            istore 5 /* removedPackagesCount */
        start local 5 // int removedPackagesCount
        15: .line 5137
            aconst_null
            astore 6 /* removedPackages */
        start local 6 // java.lang.String[] removedPackages
        16: .line 5138
            aload 3 /* packageEntries */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* packages */
        start local 7 // java.util.Iterator packages
        17: .line 5139
            goto 45
        18: .line 5140
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Map org.eclipse.core.resources.IFile java.util.Set int int java.lang.String[] java.util.Iterator
      StackMap stack:
            aload 7 /* packages */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* entry */
        start local 8 // java.util.Map$Entry entry
        19: .line 5141
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* packName */
        start local 9 // java.lang.String packName
        20: .line 5142
            aload 8 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.util.Map
            astore 10 /* types */
        start local 10 // java.util.Map types
        21: .line 5143
            aload 10 /* types */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            astore 11 /* nameEntries */
        start local 11 // java.util.Set nameEntries
        22: .line 5144
            aload 11 /* nameEntries */
            invokeinterface java.util.Set.size:()I
            istore 12 /* namesSize */
        start local 12 // int namesSize
        23: iconst_0
            istore 13 /* removedNamesCount */
        start local 13 // int removedNamesCount
        24: .line 5145
            aconst_null
            astore 14 /* removedNames */
        start local 14 // java.lang.String[] removedNames
        25: .line 5146
            aload 11 /* nameEntries */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 15 /* names */
        start local 15 // java.util.Iterator names
        26: .line 5147
            goto 34
        27: .line 5148
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Map org.eclipse.core.resources.IFile java.util.Set int int java.lang.String[] java.util.Iterator java.util.Map$Entry java.lang.String java.util.Map java.util.Set int int java.lang.String[] java.util.Iterator
      StackMap stack:
            aload 15 /* names */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 16 /* entry2 */
        start local 16 // java.util.Map$Entry entry2
        28: .line 5149
            aload 16 /* entry2 */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 17 /* typeName */
        start local 17 // java.lang.String typeName
        29: .line 5150
            aload 16 /* entry2 */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 18 /* type */
        start local 18 // org.eclipse.jdt.internal.core.JavaElement type
        30: .line 5151
            aload 2 /* file */
            aload 18 /* type */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resource:()Lorg/eclipse/core/resources/IResource;
            invokeinterface org.eclipse.core.resources.IFile.equals:(Ljava/lang/Object;)Z
            ifeq 34
        31: .line 5152
            aload 14 /* removedNames */
            ifnonnull 32
            iload 12 /* namesSize */
            anewarray java.lang.String
            astore 14 /* removedNames */
        32: .line 5153
      StackMap locals: java.util.Map$Entry java.lang.String org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            iinc 12 /* namesSize */ -1
        33: .line 5154
            aload 14 /* removedNames */
            iload 13 /* removedNamesCount */
            iinc 13 /* removedNamesCount */ 1
            aload 17 /* typeName */
            aastore
        end local 18 // org.eclipse.jdt.internal.core.JavaElement type
        end local 17 // java.lang.String typeName
        end local 16 // java.util.Map$Entry entry2
        34: .line 5147
      StackMap locals:
      StackMap stack:
            aload 15 /* names */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        35: .line 5157
            aload 14 /* removedNames */
            ifnull 41
        36: .line 5158
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        37: goto 40
        38: .line 5159
      StackMap locals: int
      StackMap stack:
            aload 10 /* types */
            aload 14 /* removedNames */
            iload 16 /* i */
            aaload
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 5158
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 16 /* i */
            iload 13 /* removedNamesCount */
            if_icmplt 38
        end local 16 // int i
        41: .line 5162
      StackMap locals:
      StackMap stack:
            aload 10 /* types */
            invokeinterface java.util.Map.size:()I
            ifne 45
        42: .line 5163
            aload 6 /* removedPackages */
            ifnonnull 43
            iload 4 /* packagesSize */
            anewarray java.lang.String
            astore 6 /* removedPackages */
        43: .line 5164
      StackMap locals:
      StackMap stack:
            iinc 4 /* packagesSize */ -1
        44: .line 5165
            aload 6 /* removedPackages */
            iload 5 /* removedPackagesCount */
            iinc 5 /* removedPackagesCount */ 1
            aload 9 /* packName */
            aastore
        end local 15 // java.util.Iterator names
        end local 14 // java.lang.String[] removedNames
        end local 13 // int removedNamesCount
        end local 12 // int namesSize
        end local 11 // java.util.Set nameEntries
        end local 10 // java.util.Map types
        end local 9 // java.lang.String packName
        end local 8 // java.util.Map$Entry entry
        45: .line 5139
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Map org.eclipse.core.resources.IFile java.util.Set int int java.lang.String[] java.util.Iterator
      StackMap stack:
            aload 7 /* packages */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        46: .line 5168
            aload 6 /* removedPackages */
            ifnull 52
        47: .line 5169
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        48: goto 51
        49: .line 5170
      StackMap locals: int
      StackMap stack:
            aload 1 /* secondaryTypesMap */
            aload 6 /* removedPackages */
            iload 8 /* i */
            aaload
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 5169
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        51: iload 8 /* i */
            iload 5 /* removedPackagesCount */
            if_icmplt 49
        end local 8 // int i
        52: .line 5173
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 60
        53: .line 5174
            ldc "\t- new secondary types map:"
            invokestatic org.eclipse.jdt.internal.core.util.Util.verbose:(Ljava/lang/String;)V
        54: .line 5175
            aload 1 /* secondaryTypesMap */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* entries */
        start local 8 // java.util.Iterator entries
        55: .line 5176
            goto 59
        56: .line 5177
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* entries */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 9 /* entry */
        start local 9 // java.util.Map$Entry entry
        57: .line 5178
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 10 /* qualifiedName */
        start local 10 // java.lang.String qualifiedName
        58: .line 5179
            new java.lang.StringBuilder
            dup
            ldc "\t\t+ "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* qualifiedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 9 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            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.verbose:(Ljava/lang/String;)V
        end local 10 // java.lang.String qualifiedName
        end local 9 // java.util.Map$Entry entry
        59: .line 5176
      StackMap locals:
      StackMap stack:
            aload 8 /* entries */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        end local 8 // java.util.Iterator entries
        60: .line 5182
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.util.Iterator packages
        end local 6 // java.lang.String[] removedPackages
        end local 5 // int removedPackagesCount
        end local 4 // int packagesSize
        end local 3 // java.util.Set packageEntries
        end local 2 // org.eclipse.core.resources.IFile file
        end local 1 // java.util.Map secondaryTypesMap
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   61     0                  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   61     1     secondaryTypesMap  Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
            0   61     2                  file  Lorg/eclipse/core/resources/IFile;
            2   12     3                buffer  Ljava/lang/StringBuffer;
            3   12     4               entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
            5    7     5                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
            6    7     6         qualifiedName  Ljava/lang/String;
           13   61     3        packageEntries  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           14   61     4          packagesSize  I
           15   61     5  removedPackagesCount  I
           16   61     6       removedPackages  [Ljava/lang/String;
           17   61     7              packages  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           19   45     8                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           20   45     9              packName  Ljava/lang/String;
           21   45    10                 types  Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           22   45    11           nameEntries  Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           23   45    12             namesSize  I
           24   45    13     removedNamesCount  I
           25   45    14          removedNames  [Ljava/lang/String;
           26   45    15                 names  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           28   34    16                entry2  Ljava/util/Map$Entry<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;
           29   34    17              typeName  Ljava/lang/String;
           30   34    18                  type  Lorg/eclipse/jdt/internal/core/JavaElement;
           37   41    16                     i  I
           48   52     8                     i  I
           55   60     8               entries  Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;>;
           57   59     9                 entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;
           58   59    10         qualifiedName  Ljava/lang/String;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jdt/core/IType;>;>;Lorg/eclipse/core/resources/IFile;)V
    MethodParameters:
                   Name  Flags
      secondaryTypesMap  
      file               

  protected void setBuildOrder(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String[] javaBuildOrder
         0: .line 5192
            ldc "compute"
            ldc "org.eclipse.jdt.core.computeJavaBuildOrder"
            invokestatic org.eclipse.jdt.core.JavaCore.getOption:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            return
         1: .line 5194
      StackMap locals:
      StackMap stack:
            aload 1 /* javaBuildOrder */
            ifnull 2
            aload 1 /* javaBuildOrder */
            arraylength
            iconst_1
            if_icmpgt 3
      StackMap locals:
      StackMap stack:
         2: return
         3: .line 5196
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            astore 2 /* workspace */
        start local 2 // org.eclipse.core.resources.IWorkspace workspace
         4: .line 5197
            aload 2 /* workspace */
            invokeinterface org.eclipse.core.resources.IWorkspace.getDescription:()Lorg/eclipse/core/resources/IWorkspaceDescription;
            astore 3 /* description */
        start local 3 // org.eclipse.core.resources.IWorkspaceDescription description
         5: .line 5198
            aload 3 /* description */
            invokeinterface org.eclipse.core.resources.IWorkspaceDescription.getBuildOrder:()[Ljava/lang/String;
            astore 4 /* wksBuildOrder */
        start local 4 // java.lang.String[] wksBuildOrder
         6: .line 5201
            aload 4 /* wksBuildOrder */
            ifnonnull 9
         7: .line 5202
            aload 1 /* javaBuildOrder */
            astore 5 /* newOrder */
        start local 5 // java.lang.String[] newOrder
         8: .line 5203
            goto 34
        end local 5 // java.lang.String[] newOrder
         9: .line 5205
      StackMap locals: org.eclipse.core.resources.IWorkspace org.eclipse.core.resources.IWorkspaceDescription java.lang.String[]
      StackMap stack:
            aload 1 /* javaBuildOrder */
            arraylength
            istore 6 /* javaCount */
        start local 6 // int javaCount
        10: .line 5206
            new java.util.HashMap
            dup
            iload 6 /* javaCount */
            invokespecial java.util.HashMap.<init>:(I)V
            astore 7 /* newSet */
        start local 7 // java.util.HashMap newSet
        11: .line 5207
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        12: goto 15
        13: .line 5208
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String[] org.eclipse.core.resources.IWorkspace org.eclipse.core.resources.IWorkspaceDescription java.lang.String[] top int java.util.HashMap int
      StackMap stack:
            aload 7 /* newSet */
            aload 1 /* javaBuildOrder */
            iload 8 /* i */
            aaload
            aload 1 /* javaBuildOrder */
            iload 8 /* i */
            aaload
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 5207
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* i */
            iload 6 /* javaCount */
            if_icmplt 13
        end local 8 // int i
        16: .line 5210
            iconst_0
            istore 8 /* removed */
        start local 8 // int removed
        17: .line 5211
            aload 4 /* wksBuildOrder */
            arraylength
            istore 9 /* oldCount */
        start local 9 // int oldCount
        18: .line 5212
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        19: goto 24
        20: .line 5213
      StackMap locals: int int
      StackMap stack:
            aload 7 /* newSet */
            aload 4 /* wksBuildOrder */
            iload 10 /* i */
            aaload
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 23
        21: .line 5214
            aload 4 /* wksBuildOrder */
            iload 10 /* i */
            aconst_null
            aastore
        22: .line 5215
            iinc 8 /* removed */ 1
        23: .line 5212
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 10 /* i */
            iload 9 /* oldCount */
            if_icmplt 20
        end local 10 // int i
        25: .line 5219
            iload 9 /* oldCount */
            iload 8 /* removed */
            isub
            iload 6 /* javaCount */
            iadd
            anewarray java.lang.String
            astore 5 /* newOrder */
        start local 5 // java.lang.String[] newOrder
        26: .line 5220
            aload 1 /* javaBuildOrder */
            iconst_0
            aload 5 /* newOrder */
            iconst_0
            iload 6 /* javaCount */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        27: .line 5223
            iload 6 /* javaCount */
            istore 10 /* index */
        start local 10 // int index
        28: .line 5224
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        29: goto 33
        30: .line 5225
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String[] org.eclipse.core.resources.IWorkspace org.eclipse.core.resources.IWorkspaceDescription java.lang.String[] java.lang.String[] int java.util.HashMap int int int int
      StackMap stack:
            aload 4 /* wksBuildOrder */
            iload 11 /* i */
            aaload
            ifnull 32
        31: .line 5226
            aload 5 /* newOrder */
            iload 10 /* index */
            iinc 10 /* index */ 1
            aload 4 /* wksBuildOrder */
            iload 11 /* i */
            aaload
            aastore
        32: .line 5224
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        33: iload 11 /* i */
            iload 9 /* oldCount */
            if_icmplt 30
        end local 11 // int i
        end local 10 // int index
        end local 9 // int oldCount
        end local 8 // int removed
        end local 7 // java.util.HashMap newSet
        end local 6 // int javaCount
        34: .line 5231
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.String[] org.eclipse.core.resources.IWorkspace org.eclipse.core.resources.IWorkspaceDescription java.lang.String[] java.lang.String[]
      StackMap stack:
            aload 3 /* description */
            aload 5 /* newOrder */
            invokeinterface org.eclipse.core.resources.IWorkspaceDescription.setBuildOrder:([Ljava/lang/String;)V
        35: .line 5233
            aload 2 /* workspace */
            aload 3 /* description */
            invokeinterface org.eclipse.core.resources.IWorkspace.setDescription:(Lorg/eclipse/core/resources/IWorkspaceDescription;)V
        36: .line 5234
            goto 39
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        37: astore 6 /* e */
        start local 6 // org.eclipse.core.runtime.CoreException e
        38: .line 5235
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 6 /* e */
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/core/runtime/CoreException;)V
            athrow
        end local 6 // org.eclipse.core.runtime.CoreException e
        39: .line 5237
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String[] newOrder
        end local 4 // java.lang.String[] wksBuildOrder
        end local 3 // org.eclipse.core.resources.IWorkspaceDescription description
        end local 2 // org.eclipse.core.resources.IWorkspace workspace
        end local 1 // java.lang.String[] javaBuildOrder
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   40     0            this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   40     1  javaBuildOrder  [Ljava/lang/String;
            4   40     2       workspace  Lorg/eclipse/core/resources/IWorkspace;
            5   40     3     description  Lorg/eclipse/core/resources/IWorkspaceDescription;
            6   40     4   wksBuildOrder  [Ljava/lang/String;
            8    9     5        newOrder  [Ljava/lang/String;
           26   40     5        newOrder  [Ljava/lang/String;
           10   34     6       javaCount  I
           11   34     7          newSet  Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/String;>;
           12   16     8               i  I
           17   34     8         removed  I
           18   34     9        oldCount  I
           19   25    10               i  I
           28   34    10           index  I
           29   34    11               i  I
           38   39     6               e  Lorg/eclipse/core/runtime/CoreException;
      Exception table:
        from    to  target  type
          35    36      37  Class org.eclipse.core.runtime.CoreException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                Name  Flags
      javaBuildOrder  

  public void setLastBuiltState(org.eclipse.core.resources.IProject, java.lang.Object);
    descriptor: (Lorg/eclipse/core/resources/IProject;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.resources.IProject project
        start local 2 // java.lang.Object state
         0: .line 5243
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 4
         1: .line 5245
            aload 0 /* this */
            aload 1 /* project */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 3 /* info */
        start local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         2: .line 5246
            aload 3 /* info */
            iconst_1
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.triedRead:Z
         3: .line 5247
            aload 3 /* info */
            aload 2 /* state */
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.savedState:Ljava/lang/Object;
        end local 3 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo info
         4: .line 5249
      StackMap locals:
      StackMap stack:
            aload 2 /* state */
            ifnonnull 10
         5: .line 5251
            aload 0 /* this */
            aload 1 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getSerializationFile:(Lorg/eclipse/core/resources/IProject;)Ljava/io/File;
            astore 3 /* file */
        start local 3 // java.io.File file
         6: .line 5252
            aload 3 /* file */
            ifnull 10
            aload 3 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 10
         7: .line 5253
            aload 3 /* file */
            invokevirtual java.io.File.delete:()Z
            pop
        end local 3 // java.io.File file
         8: .line 5254
            goto 10
      StackMap locals:
      StackMap stack: java.lang.SecurityException
         9: pop
        10: .line 5258
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object state
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   11     1  project  Lorg/eclipse/core/resources/IProject;
            0   11     2    state  Ljava/lang/Object;
            2    4     3     info  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            6    8     3     file  Ljava/io/File;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.SecurityException
    MethodParameters:
         Name  Flags
      project  
      state    

  public boolean storePreference(java.lang.String, java.lang.String, org.eclipse.core.runtime.preferences.IEclipsePreferences, java.util.Map<java.lang.String, java.lang.String>);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;Ljava/util/Map;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String optionName
        start local 2 // java.lang.String optionValue
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipsePreferences
        start local 4 // java.util.Map otherOptions
         0: .line 5272
            aload 0 /* this */
            aload 1 /* optionName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getOptionLevel:(Ljava/lang/String;)I
            istore 5 /* optionLevel */
        start local 5 // int optionLevel
         1: .line 5273
            iload 5 /* optionLevel */
            ifne 2
            iconst_0
            ireturn
         2: .line 5276
      StackMap locals: int
      StackMap stack:
            iload 5 /* optionLevel */
            tableswitch { // 1 - 2
                    1: 8
                    2: 3
              default: 22
          }
         3: .line 5278
      StackMap locals:
      StackMap stack:
            aload 2 /* optionValue */
            ifnonnull 6
         4: .line 5279
            aload 3 /* eclipsePreferences */
            aload 1 /* optionName */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
         5: .line 5280
            goto 23
         6: .line 5281
      StackMap locals:
      StackMap stack:
            aload 3 /* eclipsePreferences */
            aload 1 /* optionName */
            aload 2 /* optionValue */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 5283
            goto 23
         8: .line 5286
      StackMap locals:
      StackMap stack:
            aload 3 /* eclipsePreferences */
            aload 1 /* optionName */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
         9: .line 5287
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedOptions:Ljava/util/Map;
            aload 1 /* optionName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 6 /* compatibleOptions */
        start local 6 // java.lang.String[] compatibleOptions
        10: .line 5288
            iconst_0
            istore 7 /* co */
        start local 7 // int co
        11: aload 6 /* compatibleOptions */
            arraylength
            istore 8 /* length */
        start local 8 // int length
        12: goto 20
        13: .line 5289
      StackMap locals: java.lang.String[] int int
      StackMap stack:
            aload 4 /* otherOptions */
            ifnull 15
            aload 4 /* otherOptions */
            aload 6 /* compatibleOptions */
            iload 7 /* co */
            aaload
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 15
        14: .line 5290
            goto 19
        15: .line 5291
      StackMap locals:
      StackMap stack:
            aload 2 /* optionValue */
            ifnonnull 18
        16: .line 5292
            aload 3 /* eclipsePreferences */
            aload 6 /* compatibleOptions */
            iload 7 /* co */
            aaload
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
        17: .line 5293
            goto 19
        18: .line 5294
      StackMap locals:
      StackMap stack:
            aload 3 /* eclipsePreferences */
            aload 6 /* compatibleOptions */
            iload 7 /* co */
            aaload
            aload 2 /* optionValue */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
        19: .line 5288
      StackMap locals:
      StackMap stack:
            iinc 7 /* co */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* co */
            iload 8 /* length */
            if_icmplt 13
        end local 8 // int length
        end local 7 // int co
        21: .line 5297
            goto 23
        end local 6 // java.lang.String[] compatibleOptions
        22: .line 5299
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        23: .line 5301
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // int optionLevel
        end local 4 // java.util.Map otherOptions
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences eclipsePreferences
        end local 2 // java.lang.String optionValue
        end local 1 // java.lang.String optionName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   24     1          optionName  Ljava/lang/String;
            0   24     2         optionValue  Ljava/lang/String;
            0   24     3  eclipsePreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            0   24     4        otherOptions  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            1   24     5         optionLevel  I
           10   22     6   compatibleOptions  [Ljava/lang/String;
           11   21     7                  co  I
           12   21     8              length  I
    Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)Z
    MethodParameters:
                    Name  Flags
      optionName          
      optionValue         
      eclipsePreferences  
      otherOptions        

  public void setOptions(java.util.Hashtable<java.lang.String, java.lang.String>);
    descriptor: (Ljava/util/Hashtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.util.Hashtable newOptions
         0: .line 5305
            aload 1 /* newOptions */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: new java.util.Hashtable
            dup
            aload 1 /* newOptions */
            invokespecial java.util.Hashtable.<init>:(Ljava/util/Map;)V
      StackMap locals:
      StackMap stack: java.util.Hashtable
         2: astore 2 /* cachedValue */
        start local 2 // java.util.Hashtable cachedValue
         3: .line 5306
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDefaultPreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 3 /* defaultPreferences */
        start local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences defaultPreferences
         4: .line 5307
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInstancePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 4 /* instancePreferences */
        start local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences instancePreferences
         5: .line 5309
            aload 1 /* newOptions */
            ifnonnull 10
         6: .line 5311
            aload 4 /* instancePreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.clear:()V
         7: .line 5312
            goto 28
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Hashtable java.util.Hashtable org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         8: pop
         9: .line 5315
            goto 28
        10: .line 5316
      StackMap locals:
      StackMap stack:
            aload 1 /* newOptions */
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 5 /* keys */
        start local 5 // java.util.Enumeration keys
        11: .line 5317
            goto 24
        12: .line 5318
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 5 /* keys */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* key */
        start local 6 // java.lang.String key
        13: .line 5319
            aload 0 /* this */
            aload 6 /* key */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getOptionLevel:(Ljava/lang/String;)I
            istore 7 /* optionLevel */
        start local 7 // int optionLevel
        14: .line 5320
            iload 7 /* optionLevel */
            ifne 15
            goto 24
        15: .line 5321
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 6 /* key */
            ldc "org.eclipse.jdt.core.encoding"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 5322
            aload 2 /* cachedValue */
            ifnull 24
        17: .line 5323
            aload 2 /* cachedValue */
            aload 6 /* key */
            invokestatic org.eclipse.jdt.core.JavaCore.getEncoding:()Ljava/lang/String;
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 5325
            goto 24
        19: .line 5327
      StackMap locals:
      StackMap stack:
            aload 1 /* newOptions */
            aload 6 /* key */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* value */
        start local 8 // java.lang.String value
        20: .line 5328
            aload 3 /* defaultPreferences */
            aload 6 /* key */
            aconst_null
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* defaultValue */
        start local 9 // java.lang.String defaultValue
        21: .line 5330
            aload 9 /* defaultValue */
            ifnull 23
            aload 9 /* defaultValue */
            aload 8 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
        22: .line 5331
            aconst_null
            astore 8 /* value */
        23: .line 5333
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* key */
            aload 8 /* value */
            aload 4 /* instancePreferences */
            aload 1 /* newOptions */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.storePreference:(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;Ljava/util/Map;)Z
            pop
        end local 9 // java.lang.String defaultValue
        end local 8 // java.lang.String value
        end local 7 // int optionLevel
        end local 6 // java.lang.String key
        24: .line 5317
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.util.Hashtable java.util.Hashtable org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.runtime.preferences.IEclipsePreferences java.util.Enumeration
      StackMap stack:
            aload 5 /* keys */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 12
        25: .line 5337
            aload 4 /* instancePreferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
        26: .line 5338
            goto 28
      StackMap locals:
      StackMap stack: org.osgi.service.prefs.BackingStoreException
        27: pop
        end local 5 // java.util.Enumeration keys
        28: .line 5343
      StackMap locals:
      StackMap stack:
            aload 2 /* cachedValue */
            invokestatic org.eclipse.jdt.internal.core.util.Util.fixTaskTags:(Ljava/util/Map;)V
        29: .line 5344
            aload 0 /* this */
            aload 2 /* cachedValue */
            putfield org.eclipse.jdt.internal.core.JavaModelManager.optionsCache:Ljava/util/Hashtable;
        30: .line 5345
            return
        end local 4 // org.eclipse.core.runtime.preferences.IEclipsePreferences instancePreferences
        end local 3 // org.eclipse.core.runtime.preferences.IEclipsePreferences defaultPreferences
        end local 2 // java.util.Hashtable cachedValue
        end local 1 // java.util.Hashtable newOptions
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   31     0                 this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   31     1           newOptions  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
            3   31     2          cachedValue  Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;
            4   31     3   defaultPreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            5   31     4  instancePreferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
           11   28     5                 keys  Ljava/util/Enumeration<Ljava/lang/String;>;
           13   24     6                  key  Ljava/lang/String;
           14   24     7          optionLevel  I
           20   24     8                value  Ljava/lang/String;
           21   24     9         defaultValue  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6     7       8  Class org.osgi.service.prefs.BackingStoreException
          25    26      27  Class org.osgi.service.prefs.BackingStoreException
    Signature: (Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/String;>;)V
    MethodParameters:
            Name  Flags
      newOptions  

  public void startup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5350
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelCache
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelCache.<init>:()V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
         1: .line 5353
            invokestatic org.eclipse.jdt.core.JavaCore.getPlugin:()Lorg/eclipse/core/runtime/Plugin;
            invokevirtual org.eclipse.core.runtime.Plugin.getStateLocation:()Lorg/eclipse/core/runtime/IPath;
            pop
         2: .line 5356
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.initializePreferences:()V
         3: .line 5359
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$18
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$18.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.propertyListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
         4: .line 5365
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.propertyListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addPreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
         5: .line 5368
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.JavaModelManager$19
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$19.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;)V
            putfield org.eclipse.jdt.internal.core.JavaModelManager.resourcesPropertyListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
         6: .line 5376
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getPlugin:()Lorg/eclipse/core/resources/ResourcesPlugin;
            invokevirtual org.eclipse.core.resources.ResourcesPlugin.getBundle:()Lorg/osgi/framework/Bundle;
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            astore 1 /* resourcesPluginId */
        start local 1 // java.lang.String resourcesPluginId
         7: .line 5377
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            aload 1 /* resourcesPluginId */
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.resourcesPropertyListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.addPreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
         8: .line 5380
            invokestatic org.eclipse.core.runtime.Platform.getContentTypeManager:()Lorg/eclipse/core/runtime/content/IContentTypeManager;
            aload 0 /* this */
            invokeinterface org.eclipse.core.runtime.content.IContentTypeManager.addContentTypeChangeListener:(Lorg/eclipse/core/runtime/content/IContentTypeManager$IContentTypeChangeListener;)V
         9: .line 5383
            ldc -1
            lstore 2 /* start */
        start local 2 // long start
        10: .line 5384
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 12
        11: .line 5385
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* start */
        12: .line 5386
      StackMap locals: java.lang.String long
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.loadVariablesAndContainers:()V
        13: .line 5387
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VERBOSE:Z
            ifeq 15
        14: .line 5388
            aload 0 /* this */
            ldc "Loaded"
            lload 2 /* start */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.traceVariableAndContainers:(Ljava/lang/String;J)V
        15: .line 5391
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessingState.initializeRootsWithPreviousSession:()V
        16: .line 5392
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            astore 4 /* workspace */
        start local 4 // org.eclipse.core.resources.IWorkspace workspace
        17: .line 5393
            aload 4 /* workspace */
        18: .line 5394
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
        19: .line 5396
            bipush 63
        20: .line 5393
            invokeinterface org.eclipse.core.resources.IWorkspace.addResourceChangeListener:(Lorg/eclipse/core/resources/IResourceChangeListener;I)V
        21: .line 5407
            aload 4 /* workspace */
            invokestatic org.eclipse.jdt.internal.core.ExternalAnnotationTracker.start:(Lorg/eclipse/core/resources/IWorkspace;)V
        22: .line 5409
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.startIndexing:()V
        23: .line 5413
            new org.eclipse.jdt.internal.core.JavaModelManager$20
            dup
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.core.util.Messages.savedState_jobName:Ljava/lang/String;
            aload 4 /* workspace */
            invokespecial org.eclipse.jdt.internal.core.JavaModelManager$20.<init>:(Lorg/eclipse/jdt/internal/core/JavaModelManager;Ljava/lang/String;Lorg/eclipse/core/resources/IWorkspace;)V
            astore 5 /* processSavedState */
        start local 5 // org.eclipse.core.runtime.jobs.Job processSavedState
        24: .line 5439
            aload 5 /* processSavedState */
            iconst_1
            invokevirtual org.eclipse.core.runtime.jobs.Job.setSystem:(Z)V
        25: .line 5440
            aload 5 /* processSavedState */
            bipush 20
            invokevirtual org.eclipse.core.runtime.jobs.Job.setPriority:(I)V
        26: .line 5441
            aload 5 /* processSavedState */
            invokevirtual org.eclipse.core.runtime.jobs.Job.schedule:()V
        end local 5 // org.eclipse.core.runtime.jobs.Job processSavedState
        end local 4 // org.eclipse.core.resources.IWorkspace workspace
        end local 2 // long start
        end local 1 // java.lang.String resourcesPluginId
        27: .line 5442
            goto 34
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager
      StackMap stack: java.lang.RuntimeException
        28: astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
        29: .line 5444
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.shutdown:()V
        30: .line 5445
            goto 33
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.RuntimeException
      StackMap stack: java.lang.RuntimeException
        31: astore 2 /* e2 */
        start local 2 // java.lang.RuntimeException e2
        32: .line 5446
            aload 1 /* e */
            aload 2 /* e2 */
            invokevirtual java.lang.RuntimeException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.RuntimeException e2
        33: .line 5448
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            athrow
        end local 1 // java.lang.RuntimeException e
        34: .line 5450
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            7   27     1  resourcesPluginId  Ljava/lang/String;
           10   27     2              start  J
           17   27     4          workspace  Lorg/eclipse/core/resources/IWorkspace;
           24   27     5  processSavedState  Lorg/eclipse/core/runtime/jobs/Job;
           29   34     1                  e  Ljava/lang/RuntimeException;
           32   33     2                 e2  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           0    27      28  Class java.lang.RuntimeException
          29    30      31  Class java.lang.RuntimeException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  private void startIndexing();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5457
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            ifnull 1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.reset:()V
         1: .line 5458
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5461
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            astore 1 /* preferences */
        start local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
         1: .line 5463
            aload 1 /* preferences */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
         2: .line 5464
            goto 5
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.preferences.IEclipsePreferences
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         3: astore 2 /* e */
        start local 2 // org.osgi.service.prefs.BackingStoreException e
         4: .line 5465
            aload 2 /* e */
            ldc "Could not save JavaCore preferences"
            invokestatic org.eclipse.jdt.internal.core.util.Util.log:(Ljava/lang/Throwable;Ljava/lang/String;)V
        end local 2 // org.osgi.service.prefs.BackingStoreException e
         5: .line 5467
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            astore 2 /* workspace */
        start local 2 // org.eclipse.core.resources.IWorkspace workspace
         6: .line 5468
            aload 2 /* workspace */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deltaState:Lorg/eclipse/jdt/internal/core/DeltaProcessingState;
            invokeinterface org.eclipse.core.resources.IWorkspace.removeResourceChangeListener:(Lorg/eclipse/core/resources/IResourceChangeListener;)V
         7: .line 5469
            aload 2 /* workspace */
            ldc "org.eclipse.jdt.core"
            invokeinterface org.eclipse.core.resources.IWorkspace.removeSaveParticipant:(Ljava/lang/String;)V
         8: .line 5471
            aload 2 /* workspace */
            invokestatic org.eclipse.jdt.internal.core.ExternalAnnotationTracker.shutdown:(Lorg/eclipse/core/resources/IWorkspace;)V
         9: .line 5474
            invokestatic org.eclipse.core.runtime.Platform.getContentTypeManager:()Lorg/eclipse/core/runtime/content/IContentTypeManager;
            astore 3 /* contentTypeManager */
        start local 3 // org.eclipse.core.runtime.content.IContentTypeManager contentTypeManager
        10: .line 5475
            aload 3 /* contentTypeManager */
            ifnull 12
        11: .line 5476
            aload 3 /* contentTypeManager */
            aload 0 /* this */
            invokeinterface org.eclipse.core.runtime.content.IContentTypeManager.removeContentTypeChangeListener:(Lorg/eclipse/core/runtime/content/IContentTypeManager$IContentTypeChangeListener;)V
        12: .line 5480
      StackMap locals: org.eclipse.core.resources.IWorkspace org.eclipse.core.runtime.content.IContentTypeManager
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            ifnull 14
        13: .line 5481
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.indexManager:Lorg/eclipse/jdt/internal/core/search/indexing/IndexManager;
            invokevirtual org.eclipse.jdt.internal.core.search.indexing.IndexManager.shutdown:()V
        14: .line 5485
      StackMap locals:
      StackMap stack:
            aload 1 /* preferences */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.propertyListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removePreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
        15: .line 5486
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_1
            aaload
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.defaultNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removeNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
        16: .line 5487
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_1
            aconst_null
            aastore
        17: .line 5488
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            aaload
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.parent:()Lorg/osgi/service/prefs/Preferences;
            checkcast org.eclipse.core.runtime.preferences.IEclipsePreferences
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.instanceNodeListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removeNodeChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$INodeChangeListener;)V
        18: .line 5489
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            aaload
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.instancePreferencesListener:Lorg/eclipse/jdt/internal/core/JavaModelManager$EclipsePreferencesListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removePreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
        19: .line 5490
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.preferencesLookup:[Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            iconst_0
            aconst_null
            aastore
        20: .line 5491
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getPlugin:()Lorg/eclipse/core/resources/ResourcesPlugin;
            invokevirtual org.eclipse.core.resources.ResourcesPlugin.getBundle:()Lorg/osgi/framework/Bundle;
            invokeinterface org.osgi.framework.Bundle.getSymbolicName:()Ljava/lang/String;
            astore 4 /* resourcesPluginId */
        start local 4 // java.lang.String resourcesPluginId
        21: .line 5492
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            aload 4 /* resourcesPluginId */
            invokeinterface org.eclipse.core.runtime.preferences.IScopeContext.getNode:(Ljava/lang/String;)Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.resourcesPropertyListener:Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.removePreferenceChangeListener:(Lorg/eclipse/core/runtime/preferences/IEclipsePreferences$IPreferenceChangeListener;)V
        22: .line 5496
            invokestatic org.eclipse.core.runtime.jobs.Job.getJobManager:()Lorg/eclipse/core/runtime/jobs/IJobManager;
            ldc "org.eclipse.jdt.core"
            aconst_null
            invokeinterface org.eclipse.core.runtime.jobs.IJobManager.join:(Ljava/lang/Object;Lorg/eclipse/core/runtime/IProgressMonitor;)V
        23: .line 5497
            goto 25
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager org.eclipse.core.runtime.preferences.IEclipsePreferences org.eclipse.core.resources.IWorkspace org.eclipse.core.runtime.content.IContentTypeManager java.lang.String
      StackMap stack: java.lang.InterruptedException
        24: pop
        25: .line 5502
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String resourcesPluginId
        end local 3 // org.eclipse.core.runtime.content.IContentTypeManager contentTypeManager
        end local 2 // org.eclipse.core.resources.IWorkspace workspace
        end local 1 // org.eclipse.core.runtime.preferences.IEclipsePreferences preferences
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   26     0                this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1   26     1         preferences  Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            4    5     2                   e  Lorg/osgi/service/prefs/BackingStoreException;
            6   26     2           workspace  Lorg/eclipse/core/resources/IWorkspace;
           10   26     3  contentTypeManager  Lorg/eclipse/core/runtime/content/IContentTypeManager;
           21   26     4   resourcesPluginId  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     2       3  Class org.osgi.service.prefs.BackingStoreException
          22    23      24  Class java.lang.InterruptedException

  public synchronized org.eclipse.core.runtime.IPath variableGet(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String variableName
         0: .line 5506
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variableInitializationInProgress:()Ljava/util/Set;
            astore 2 /* initializations */
        start local 2 // java.util.Set initializations
         1: .line 5507
            aload 2 /* initializations */
            aload 1 /* variableName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 5508
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VARIABLE_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/core/runtime/IPath;
            areturn
         3: .line 5510
      StackMap locals: java.util.Set
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 1 /* variableName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            areturn
        end local 2 // java.util.Set initializations
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    4     1     variableName  Ljava/lang/String;
            1    4     2  initializations  Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      variableName  

  private synchronized org.eclipse.core.runtime.IPath variableGetDefaultToPreviousSession(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String variableName
         0: .line 5514
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 1 /* variableName */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.core.runtime.IPath
            astore 2 /* variablePath */
        start local 2 // org.eclipse.core.runtime.IPath variablePath
         1: .line 5515
            aload 2 /* variablePath */
            ifnonnull 3
         2: .line 5516
            aload 0 /* this */
            aload 1 /* variableName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPreviousSessionVariable:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            areturn
         3: .line 5517
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* variablePath */
            areturn
        end local 2 // org.eclipse.core.runtime.IPath variablePath
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    4     1  variableName  Ljava/lang/String;
            1    4     2  variablePath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
              Name  Flags
      variableName  

  private java.util.Set<java.lang.String> variableInitializationInProgress();
    descriptor: ()Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5524
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variableInitializationInProgress:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 1 /* initializations */
        start local 1 // java.util.Set initializations
         1: .line 5525
            aload 1 /* initializations */
            ifnonnull 4
         2: .line 5526
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* initializations */
         3: .line 5527
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variableInitializationInProgress:Ljava/lang/ThreadLocal;
            aload 1 /* initializations */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 5529
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* initializations */
            areturn
        end local 1 // java.util.Set initializations
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1    5     1  initializations  Ljava/util/Set<Ljava/lang/String;>;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public synchronized java.lang.String[] variableNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5533
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            istore 1 /* length */
        start local 1 // int length
         1: .line 5534
            iload 1 /* length */
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 5535
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* vars */
        start local 3 // java.util.Iterator vars
         3: .line 5536
            iconst_0
            istore 4 /* index */
        start local 4 // int index
         4: .line 5537
            goto 6
         5: .line 5538
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager int java.lang.String[] java.util.Iterator int
      StackMap stack:
            aload 2 /* result */
            iload 4 /* index */
            iinc 4 /* index */ 1
            aload 3 /* vars */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            aastore
         6: .line 5537
      StackMap locals:
      StackMap stack:
            aload 3 /* vars */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         7: .line 5540
            aload 2 /* result */
            areturn
        end local 4 // int index
        end local 3 // java.util.Iterator vars
        end local 2 // java.lang.String[] result
        end local 1 // int length
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            1    8     1  length  I
            2    8     2  result  [Ljava/lang/String;
            3    8     3    vars  Ljava/util/Iterator<Ljava/lang/String;>;
            4    8     4   index  I

  public synchronized void variablePut(java.lang.String, org.eclipse.core.runtime.IPath);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String variableName
        start local 2 // org.eclipse.core.runtime.IPath variablePath
         0: .line 5546
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variableInitializationInProgress:()Ljava/util/Set;
            astore 3 /* initializations */
        start local 3 // java.util.Set initializations
         1: .line 5547
            aload 2 /* variablePath */
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.VARIABLE_INITIALIZATION_IN_PROGRESS:Lorg/eclipse/core/runtime/IPath;
            if_acmpne 4
         2: .line 5548
            aload 3 /* initializations */
            aload 1 /* variableName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 5551
            return
         4: .line 5553
      StackMap locals: java.util.Set
      StackMap stack:
            aload 3 /* initializations */
            aload 1 /* variableName */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 5556
            aload 2 /* variablePath */
            ifnonnull 10
         6: .line 5559
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 1 /* variableName */
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.CP_ENTRY_IGNORE_PATH:Lorg/eclipse/core/runtime/IPath;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 5561
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variablesWithInitializer:Ljava/util/HashSet;
            aload 1 /* variableName */
            invokevirtual java.util.HashSet.remove:(Ljava/lang/Object;)Z
            pop
         8: .line 5562
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.deprecatedVariables:Ljava/util/HashMap;
            aload 1 /* variableName */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 5563
            goto 11
        10: .line 5564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.variables:Ljava/util/HashMap;
            aload 1 /* variableName */
            aload 2 /* variablePath */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 5567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.previousSessionVariables:Ljava/util/HashMap;
            aload 1 /* variableName */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 5569
            return
        end local 3 // java.util.Set initializations
        end local 2 // org.eclipse.core.runtime.IPath variablePath
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   13     1     variableName  Ljava/lang/String;
            0   13     2     variablePath  Lorg/eclipse/core/runtime/IPath;
            1   13     3  initializations  Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      variableName  
      variablePath  

  public void variablePreferencesPut(java.lang.String, org.eclipse.core.runtime.IPath);
    descriptor: (Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String variableName
        start local 2 // org.eclipse.core.runtime.IPath variablePath
         0: .line 5572
            new java.lang.StringBuilder
            dup
            ldc "org.eclipse.jdt.core.classpathVariable."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* variableName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* variableKey */
        start local 3 // java.lang.String variableKey
         1: .line 5573
            aload 2 /* variablePath */
            ifnonnull 4
         2: .line 5574
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInstancePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 3 /* variableKey */
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.remove:(Ljava/lang/String;)V
         3: .line 5575
            goto 5
         4: .line 5576
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInstancePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            aload 3 /* variableKey */
            aload 2 /* variablePath */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.put:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 5579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInstancePreferences:()Lorg/eclipse/core/runtime/preferences/IEclipsePreferences;
            invokeinterface org.eclipse.core.runtime.preferences.IEclipsePreferences.flush:()V
         6: .line 5580
            goto 8
      StackMap locals:
      StackMap stack: org.osgi.service.prefs.BackingStoreException
         7: pop
         8: .line 5583
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String variableKey
        end local 2 // org.eclipse.core.runtime.IPath variablePath
        end local 1 // java.lang.String variableName
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    9     1  variableName  Ljava/lang/String;
            0    9     2  variablePath  Lorg/eclipse/core/runtime/IPath;
            1    9     3   variableKey  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class org.osgi.service.prefs.BackingStoreException
    MethodParameters:
              Name  Flags
      variableName  
      variablePath  

  public boolean variablePutIfInitializingWithSameValue(java.lang.String[], org.eclipse.core.runtime.IPath[]);
    descriptor: ([Ljava/lang/String;[Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String[] variableNames
        start local 2 // org.eclipse.core.runtime.IPath[] variablePaths
         0: .line 5589
            aload 1 /* variableNames */
            arraylength
            iconst_1
            if_icmpeq 2
         1: .line 5590
            iconst_0
            ireturn
         2: .line 5591
      StackMap locals:
      StackMap stack:
            aload 1 /* variableNames */
            iconst_0
            aaload
            astore 3 /* variableName */
        start local 3 // java.lang.String variableName
         3: .line 5592
            aload 0 /* this */
            aload 3 /* variableName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variableGetDefaultToPreviousSession:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 4 /* oldPath */
        start local 4 // org.eclipse.core.runtime.IPath oldPath
         4: .line 5593
            aload 4 /* oldPath */
            ifnonnull 6
         5: .line 5594
            iconst_0
            ireturn
         6: .line 5595
      StackMap locals: java.lang.String org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 2 /* variablePaths */
            iconst_0
            aaload
            astore 5 /* newPath */
        start local 5 // org.eclipse.core.runtime.IPath newPath
         7: .line 5596
            aload 4 /* oldPath */
            aload 5 /* newPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 5597
            iconst_0
            ireturn
         9: .line 5598
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* this */
            aload 3 /* variableName */
            aload 5 /* newPath */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.variablePut:(Ljava/lang/String;Lorg/eclipse/core/runtime/IPath;)V
        10: .line 5599
            iconst_1
            ireturn
        end local 5 // org.eclipse.core.runtime.IPath newPath
        end local 4 // org.eclipse.core.runtime.IPath oldPath
        end local 3 // java.lang.String variableName
        end local 2 // org.eclipse.core.runtime.IPath[] variablePaths
        end local 1 // java.lang.String[] variableNames
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   11     1  variableNames  [Ljava/lang/String;
            0   11     2  variablePaths  [Lorg/eclipse/core/runtime/IPath;
            3   11     3   variableName  Ljava/lang/String;
            4   11     4        oldPath  Lorg/eclipse/core/runtime/IPath;
            7   11     5        newPath  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
               Name  Flags
      variableNames  
      variablePaths  

  public void contentTypeChanged(org.eclipse.core.runtime.content.IContentTypeManager$ContentTypeChangeEvent);
    descriptor: (Lorg/eclipse/core/runtime/content/IContentTypeManager$ContentTypeChangeEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.content.IContentTypeManager$ContentTypeChangeEvent event
         0: .line 5604
            invokestatic org.eclipse.jdt.internal.core.util.Util.resetJavaLikeExtensions:()V
         1: .line 5609
            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 2 /* projects */
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
         2: .line 5610
            goto 5
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         3: pop
         4: .line 5611
            return
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
         5: .line 5613
      StackMap locals: org.eclipse.jdt.core.IJavaProject[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         6: aload 2 /* projects */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         7: goto 13
         8: .line 5614
      StackMap locals: int int
      StackMap stack:
            aload 2 /* projects */
            iload 3 /* i */
            aaload
            astore 5 /* project */
        start local 5 // org.eclipse.jdt.core.IJavaProject project
         9: .line 5615
            aload 0 /* this */
            aload 5 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getPerProjectInfo:(Lorg/eclipse/core/resources/IProject;Z)Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
            astore 6 /* projectInfo */
        start local 6 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        10: .line 5616
            aload 6 /* projectInfo */
            ifnull 12
        11: .line 5617
            aload 6 /* projectInfo */
            aconst_null
            putfield org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo.secondaryTypes:Ljava/util/Hashtable;
        end local 6 // org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo projectInfo
        end local 5 // org.eclipse.jdt.core.IJavaProject project
        12: .line 5613
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 8
        end local 4 // int length
        end local 3 // int i
        14: .line 5620
            return
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 1 // org.eclipse.core.runtime.content.IContentTypeManager$ContentTypeChangeEvent event
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0   15     1        event  Lorg/eclipse/core/runtime/content/IContentTypeManager$ContentTypeChangeEvent;
            2    3     2     projects  [Lorg/eclipse/jdt/core/IJavaProject;
            5   15     2     projects  [Lorg/eclipse/jdt/core/IJavaProject;
            6   14     3            i  I
            7   14     4       length  I
            9   12     5      project  Lorg/eclipse/jdt/core/IJavaProject;
           10   12     6  projectInfo  Lorg/eclipse/jdt/internal/core/JavaModelManager$PerProjectInfo;
      Exception table:
        from    to  target  type
           1     2       3  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      event  

  public synchronized java.lang.String cacheToString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // java.lang.String prefix
         0: .line 5623
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            aload 1 /* prefix */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelCache.toStringFillingRation:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String prefix
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    1     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public org.eclipse.jdt.internal.core.util.LRUCache<org.eclipse.jdt.core.ITypeRoot, org.eclipse.jdt.internal.core.JavaElementInfo>.Stats debugNewOpenableCacheStats();
    descriptor: ()Lorg/eclipse/jdt/internal/core/util/LRUCache$Stats;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5627
            new org.eclipse.jdt.internal.core.util.LRUCache$Stats
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            getfield org.eclipse.jdt.internal.core.JavaModelCache.openableCache:Lorg/eclipse/jdt/internal/core/ElementCache;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokespecial org.eclipse.jdt.internal.core.util.LRUCache$Stats.<init>:(Lorg/eclipse/jdt/internal/core/util/LRUCache;)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
    Signature: ()Lorg/eclipse/jdt/internal/core/util/LRUCache<Lorg/eclipse/jdt/core/ITypeRoot;Lorg/eclipse/jdt/internal/core/JavaElementInfo;>.Stats;

  public int getOpenableCacheSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
         0: .line 5631
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            getfield org.eclipse.jdt.internal.core.JavaModelCache.openableCache:Lorg/eclipse/jdt/internal/core/ElementCache;
            invokevirtual org.eclipse.jdt.internal.core.ElementCache.getSpaceLimit:()I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModelManager;

  public org.eclipse.jdt.core.IAccessRule getAccessRule(org.eclipse.core.runtime.IPath, int);
    descriptor: (Lorg/eclipse/core/runtime/IPath;I)Lorg/eclipse/jdt/core/IAccessRule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.core.runtime.IPath filePattern
        start local 2 // int kind
         0: .line 5644
            new org.eclipse.jdt.internal.core.ClasspathAccessRule
            dup
            aload 1 /* filePattern */
            iload 2 /* kind */
            invokespecial org.eclipse.jdt.internal.core.ClasspathAccessRule.<init>:(Lorg/eclipse/core/runtime/IPath;I)V
            astore 3 /* rule */
        start local 3 // org.eclipse.jdt.internal.core.ClasspathAccessRule rule
         1: .line 5645
            aload 0 /* this */
            aload 3 /* rule */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getFromCache:(Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;)Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.ClasspathAccessRule rule
        end local 2 // int kind
        end local 1 // org.eclipse.core.runtime.IPath filePattern
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  filePattern  Lorg/eclipse/core/runtime/IPath;
            0    2     2         kind  I
            1    2     3         rule  Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
    MethodParameters:
             Name  Flags
      filePattern  
      kind         

  public org.eclipse.jdt.internal.core.ClasspathAccessRule getAccessRuleForProblemId(char[], int);
    descriptor: ([CI)Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // char[] filePattern
        start local 2 // int problemId
         0: .line 5652
            new org.eclipse.jdt.internal.core.ClasspathAccessRule
            dup
            aload 1 /* filePattern */
            iload 2 /* problemId */
            invokespecial org.eclipse.jdt.internal.core.ClasspathAccessRule.<init>:([CI)V
            astore 3 /* rule */
        start local 3 // org.eclipse.jdt.internal.core.ClasspathAccessRule rule
         1: .line 5653
            aload 0 /* this */
            aload 3 /* rule */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getFromCache:(Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;)Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
            areturn
        end local 3 // org.eclipse.jdt.internal.core.ClasspathAccessRule rule
        end local 2 // int problemId
        end local 1 // char[] filePattern
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    2     1  filePattern  [C
            0    2     2    problemId  I
            1    2     3         rule  Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
    MethodParameters:
             Name  Flags
      filePattern  
      problemId    

  private org.eclipse.jdt.internal.core.ClasspathAccessRule getFromCache(org.eclipse.jdt.internal.core.ClasspathAccessRule);
    descriptor: (Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;)Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
        start local 1 // org.eclipse.jdt.internal.core.ClasspathAccessRule rule
         0: .line 5657
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            getfield org.eclipse.jdt.internal.core.JavaModelCache.accessRuleCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 1 /* rule */
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.ClasspathAccessRule
            astore 2 /* cachedRule */
        start local 2 // org.eclipse.jdt.internal.core.ClasspathAccessRule cachedRule
         1: .line 5658
            aload 2 /* cachedRule */
            ifnull 3
         2: .line 5659
            aload 2 /* cachedRule */
            areturn
         3: .line 5661
      StackMap locals: org.eclipse.jdt.internal.core.ClasspathAccessRule
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaModelManager.cache:Lorg/eclipse/jdt/internal/core/JavaModelCache;
            getfield org.eclipse.jdt.internal.core.JavaModelCache.accessRuleCache:Lorg/eclipse/jdt/internal/core/util/LRUCache;
            aload 1 /* rule */
            aload 1 /* rule */
            invokevirtual org.eclipse.jdt.internal.core.util.LRUCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 5662
            aload 1 /* rule */
            areturn
        end local 2 // org.eclipse.jdt.internal.core.ClasspathAccessRule cachedRule
        end local 1 // org.eclipse.jdt.internal.core.ClasspathAccessRule rule
        end local 0 // org.eclipse.jdt.internal.core.JavaModelManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            0    5     1        rule  Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
            1    5     2  cachedRule  Lorg/eclipse/jdt/internal/core/ClasspathAccessRule;
    MethodParameters:
      Name  Flags
      rule  

  static int[] $SWITCH_TABLE$org$eclipse$jdt$internal$core$JavaModelManager$ArchiveValidity();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 183
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.$SWITCH_TABLE$org$eclipse$jdt$internal$core$JavaModelManager$ArchiveValidity:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.values:()[Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.BAD_FORMAT:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.FILE_NOT_FOUND:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.UNABLE_TO_READ:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.VALID:Lorg/eclipse/jdt/internal/core/JavaModelManager$ArchiveValidity;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic org.eclipse.jdt.internal.core.JavaModelManager.$SWITCH_TABLE$org$eclipse$jdt$internal$core$JavaModelManager$ArchiveValidity:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "JavaModelManager.java"
NestMembers:
  org.eclipse.jdt.internal.core.JavaModelManager$1  org.eclipse.jdt.internal.core.JavaModelManager$10  org.eclipse.jdt.internal.core.JavaModelManager$11  org.eclipse.jdt.internal.core.JavaModelManager$12  org.eclipse.jdt.internal.core.JavaModelManager$13  org.eclipse.jdt.internal.core.JavaModelManager$14  org.eclipse.jdt.internal.core.JavaModelManager$15  org.eclipse.jdt.internal.core.JavaModelManager$16  org.eclipse.jdt.internal.core.JavaModelManager$17  org.eclipse.jdt.internal.core.JavaModelManager$18  org.eclipse.jdt.internal.core.JavaModelManager$19  org.eclipse.jdt.internal.core.JavaModelManager$2  org.eclipse.jdt.internal.core.JavaModelManager$20  org.eclipse.jdt.internal.core.JavaModelManager$20$1  org.eclipse.jdt.internal.core.JavaModelManager$3  org.eclipse.jdt.internal.core.JavaModelManager$4  org.eclipse.jdt.internal.core.JavaModelManager$5  org.eclipse.jdt.internal.core.JavaModelManager$6  org.eclipse.jdt.internal.core.JavaModelManager$7  org.eclipse.jdt.internal.core.JavaModelManager$8  org.eclipse.jdt.internal.core.JavaModelManager$9  org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity  org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants  org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants$1  org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants$2  org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener  org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo  org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo  org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo  org.eclipse.jdt.internal.core.JavaModelManager$PersistedClasspathContainer  org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper  org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersSaveHelper  org.eclipse.jdt.internal.core.JavaModelManager$ZipCache
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public final ContentTypeChangeEvent = org.eclipse.core.runtime.content.IContentTypeManager$ContentTypeChangeEvent of org.eclipse.core.runtime.content.IContentTypeManager
  public abstract IContentTypeChangeListener = org.eclipse.core.runtime.content.IContentTypeManager$IContentTypeChangeListener of org.eclipse.core.runtime.content.IContentTypeManager
  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 abstract Displayable = org.eclipse.jdt.internal.compiler.util.Util$Displayable of org.eclipse.jdt.internal.compiler.util.Util
  org.eclipse.jdt.internal.core.JavaModelManager$1
  org.eclipse.jdt.internal.core.JavaModelManager$10
  org.eclipse.jdt.internal.core.JavaModelManager$11
  org.eclipse.jdt.internal.core.JavaModelManager$12
  org.eclipse.jdt.internal.core.JavaModelManager$13
  org.eclipse.jdt.internal.core.JavaModelManager$14
  org.eclipse.jdt.internal.core.JavaModelManager$15
  org.eclipse.jdt.internal.core.JavaModelManager$16
  org.eclipse.jdt.internal.core.JavaModelManager$17
  org.eclipse.jdt.internal.core.JavaModelManager$18
  org.eclipse.jdt.internal.core.JavaModelManager$19
  org.eclipse.jdt.internal.core.JavaModelManager$2
  org.eclipse.jdt.internal.core.JavaModelManager$20
  org.eclipse.jdt.internal.core.JavaModelManager$3
  org.eclipse.jdt.internal.core.JavaModelManager$4
  org.eclipse.jdt.internal.core.JavaModelManager$5
  org.eclipse.jdt.internal.core.JavaModelManager$6
  org.eclipse.jdt.internal.core.JavaModelManager$7
  org.eclipse.jdt.internal.core.JavaModelManager$8
  org.eclipse.jdt.internal.core.JavaModelManager$9
  public final ArchiveValidity = org.eclipse.jdt.internal.core.JavaModelManager$ArchiveValidity of org.eclipse.jdt.internal.core.JavaModelManager
  public CompilationParticipants = org.eclipse.jdt.internal.core.JavaModelManager$CompilationParticipants of org.eclipse.jdt.internal.core.JavaModelManager
  public EclipsePreferencesListener = org.eclipse.jdt.internal.core.JavaModelManager$EclipsePreferencesListener of org.eclipse.jdt.internal.core.JavaModelManager
  private InvalidArchiveInfo = org.eclipse.jdt.internal.core.JavaModelManager$InvalidArchiveInfo of org.eclipse.jdt.internal.core.JavaModelManager
  public PerProjectInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerProjectInfo of org.eclipse.jdt.internal.core.JavaModelManager
  public PerWorkingCopyInfo = org.eclipse.jdt.internal.core.JavaModelManager$PerWorkingCopyInfo of org.eclipse.jdt.internal.core.JavaModelManager
  private final PersistedClasspathContainer = org.eclipse.jdt.internal.core.JavaModelManager$PersistedClasspathContainer of org.eclipse.jdt.internal.core.JavaModelManager
  private final VariablesAndContainersLoadHelper = org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersLoadHelper of org.eclipse.jdt.internal.core.JavaModelManager
  private final VariablesAndContainersSaveHelper = org.eclipse.jdt.internal.core.JavaModelManager$VariablesAndContainersSaveHelper of org.eclipse.jdt.internal.core.JavaModelManager
  ZipCache = org.eclipse.jdt.internal.core.JavaModelManager$ZipCache of org.eclipse.jdt.internal.core.JavaModelManager
  ProjectCache = org.eclipse.jdt.internal.core.JavaProjectElementInfo$ProjectCache of org.eclipse.jdt.internal.core.JavaProjectElementInfo
  public Stats = org.eclipse.jdt.internal.core.util.LRUCache$Stats of org.eclipse.jdt.internal.core.util.LRUCache