Bug 167893 [Workbench] [RCP]Create an org.eclipse.ui.ide.application plug-in
M4 We have many situations where people want to use our resource based APIs but cannot due to a required dependency on the IDE application. Likewise we have code in the IDE that would like to use other plug-in but cannot due to a circular dependency (specifically the Common Navigator requires the resource parts of the IDE so we can't use it in the IDE without the circular dependency). Looking at the code in IDE the vast majority of it could be moved to a resources based plug-in with only a small amount left in IDE to support the IDE application and the Resource Perspective. This would allow 1) RCP apps to use our views like the Problems View with thier own application. Right now many are forced to subclass our (internal) application class to get this to work. 2) The resource navigator to rely only on the new org,eclipse.ui.workbench.resources plug-in thereby allowing the IDE to refer to it.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/wizards/datatransfer/WizardProjectsImportPage.java
}
	/**
	 * Get the array of valid project records that can be imported 
	 * from the source workspace or archive, selected by the user.
	 * If a project with the same name exists in both the source workspace and the 
	 * current workspace, it will not appear in the list of projects to import and 
	 * thus cannot be selected for import.
	 * 
	 * Method declared public for test suite.
	 * 
	 * @return ProjectRecord[] array of projects that can be imported into the workspace
	 */
	public ProjectRecord[] getValidProjects(){
		List validProjects = new ArrayList();
		for (int i = 0; i < selectedProjects.length; i++){
			if (!isProjectInWorkspace(selectedProjects[i].getProjectName())) {
				validProjects.add(selectedProjects[i]);
			}
		}
		return (ProjectRecord[]) validProjects.toArray(new ProjectRecord[validProjects.size()]);
	}
	
	/**
	 * Determine if the project with the given name is in the current workspace.
	 * 
	 * @param projectName String the project name to check
	 * @return boolean true if the project with the given name is in this workspace
	 */
	private boolean isProjectInWorkspace(String projectName){
		if (projectName == null) {