Bug 52346 [misc] Undo yields wrong code
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitEditor.java
fColumn= offset - document.getLineOffset(fLine);
				fElement= getElementAt(offset, true);
				fElementLine= -1;
				if (fElement instanceof IMember) {
					ISourceRange range= ((IMember) fElement).getNameRange();
					if (range != null)
						fElementLine= document.getLineOfOffset(range.getOffset());
				}
				if (fElementLine == -1)
					fElementLine= document.getLineOfOffset(getOffset(fElement));
			} catch (BadLocationException e) {
				
				JavaPlugin.log(e);
				clear();
			} catch (JavaModelException e) {
				
				JavaPlugin.log(e.getStatus());
				clear();
			}
		}
		/**
		 * Return offset recomputed from stored visual properties.  
		 * 
		 * @return Offset in the document
		 */
		public int getOffset() {
			try {
				IJavaElement newElement= getElement();
				if (newElement == null)
					return -1;