Bug 97936 [build path] build path page overwrites changes in classpath
I have plugin which contribute page into the Project Properties Dialog (java project). In this page IJavaProject.setRawClasspath() called for current project. I do the following steps: 1. Open Project Properties Dialog 2. Select Java Build Path page. Do nothing with it. 3. Select "MyPage". 4. Do something which calls setRawClasspath(). (file .classpath updated with new values!) 5. Press OK. Dialog closed. oops! File .classpath updated again with old values. It reproduced with M7 and M6.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/BuildPathsPropertyPage.java
if (elem instanceof IJavaProject) {
				return ((IJavaProject) elem).getProject();
			}
		}
		return null;
	}
	
	private boolean isJavaProject(IProject proj) {
		try {
			return proj.hasNature(JavaCore.NATURE_ID);
		} catch (CoreException e) {
			JavaPlugin.log(e);
		}
		return false;
	}
	
	/*
	 * @see IPreferencePage#performOk
	 */
	public boolean performOk() {
		if (fBuildPathsBlock != null) {
			getSettings().put(INDEX, fBuildPathsBlock.getPageIndex());
			IWorkspaceRunnable runnable= new IWorkspaceRunnable() {
				public void run(IProgressMonitor monitor)	throws CoreException, OperationCanceledException {
					fBuildPathsBlock.configureJavaProject(monitor);
				}
			};
			WorkbenchRunnableAdapter op= new WorkbenchRunnableAdapter(runnable);
			op.runAsUserJob(PreferencesMessages.BuildPathsPropertyPage_job_title, null);  
		}