Bug 85519 [implementation] saveAs existing file fails - content replaced with original content
I20050215-2300 (m5 test pass) - have pkg/Test1.java open - have pkg/Test2.java open - dirty Test1.java - save Test1.java as Test2.java expected: content of Test2 gets replaced with data in Test1 actual: a second editor with Test2.java is opened, Test1.java is closed, the unsaved changes in Test1.java are lost -> lost data.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.java
super.removeAllAnnotations(fireModelChanged);
				synchronized (getLockObject()) {
					fReverseMap.clear();
				}
			}
			
			/*
			 * @see AnnotationModel#removeAnnotation(Annotation, boolean)
			 */
			protected void removeAnnotation(Annotation annotation, boolean fireModelChanged) {
				Position position= getPosition(annotation);
				synchronized (getLockObject()) {
					Object cached= fReverseMap.get(position);
					if (cached instanceof List) {
						List list= (List) cached;
						list.remove(annotation);
						if (list.size() == 1) {
							fReverseMap.put(position, list.get(0));
							list.clear();
						}
					} else if (cached instanceof Annotation) {
						fReverseMap.remove(position);
					}
				}
				super.removeAnnotation(annotation, fireModelChanged);
			}
		}
		
		
		protected static class GlobalAnnotationModelListener implements IAnnotationModelListener, IAnnotationModelListenerExtension {