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
fBuildPathsBlock.init(JavaCore.create(project), null, null);
		return fBuildPathsBlock.createControl(parent);
	}
	/*
	 * Content for non-Java projects.
	 */	
	private Control createWithoutJava(Composite parent) {
		Label label= new Label(parent, SWT.LEFT);
		label.setText(PreferencesMessages.BuildPathsPropertyPage_no_java_project_message); 
		
		fBuildPathsBlock= null;
		setValid(true);
		return label;
	}
	/*
	 * Content for closed projects.
	 */		
	private Control createForClosedProject(Composite parent) {
		Label label= new Label(parent, SWT.LEFT);
		label.setText(PreferencesMessages.BuildPathsPropertyPage_closed_project_message); 
		
		fBuildPathsBlock= null;
		setValid(true);
		return label;
	}
	
	private IProject getProject() {
		IAdaptable adaptable= getElement();
		if (adaptable != null) {
			IJavaElement elem= (IJavaElement) adaptable.getAdapter(IJavaElement.class);