Bug 114946 Fold two JDT initialize Job back into one
M3 We have now two initialize Jobs. One for UI and one for Core. We should fold them back into one. Either Core has to provide another method or we remove the Job from the Core method. This has to be a coordinated effort since removing the Job in Core without adjusting the code in UI will result in a blocking UI thread.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/JavaPlugin.java
factory.registerCreator("org.eclipse.jdt.ui.rename.local.variable", new RenameLocalVariableRefactoringInstanceCreator()); 
		factory.registerCreator("org.eclipse.jdt.ui.rename.method", new RenameMethodRefactoringInstanceCreator()); 
		factory.registerCreator("org.eclipse.jdt.ui.rename.package", new RenamePackageRefactoringInstanceCreator()); 
		factory.registerCreator("org.eclipse.jdt.ui.rename.source.folder", new RenameSourceFolderRefactoringInstanceCreator()); 
		factory.registerCreator("org.eclipse.jdt.ui.rename.type.parameter", new RenameTypeParameterRefactoringInstanceCreator()); 
		factory.registerCreator("org.eclipse.jdt.ui.rename.type", new RenameTypeRefactoringInstanceCreator()); 
	}
	 static void initializeAfterLoad() {
		Job job = new Job(JavaUIMessages.JavaPlugin_initializing_ui) {
			protected IStatus run(IProgressMonitor monitor) {
				IJobManager manager= Platform.getJobManager();
				try {
					manager.join(JavaCore.PLUGIN_ID, monitor);
				} catch (InterruptedException e) {
					
				}
				TypeInfoHistory.getInstance().checkConsistency(monitor);
				return new Status(IStatus.OK, JavaPlugin.getPluginId(), IStatus.OK, "", null); 
			}
			public boolean belongsTo(Object family) {
				return JavaUI.ID_PLUGIN.equals(family);
			}
		};
		job.setPriority(Job.SHORT);
		job.schedule();
	}
	
	
	private static IPreferenceStore getDeprecatedWorkbenchPreferenceStore() {
		return PlatformUI.getWorkbench().getPreferenceStore();