private void deleteElement(IJavaElement elementToRemove, ICompilationUnit cu) throws JavaModelException {
// ensure cu is consistent (noop if already consistent)
cu.makeConsistent(this.progressMonitor);
this.parser.setSource(cu);
CompilationUnit astCU = (CompilationUnit) this.parser.createAST(this.progressMonitor);
ASTNode node = ((JavaElement) elementToRemove).findNode(astCU);
if (node == null)
Assert.isTrue(false, "Failed to locate " + elementToRemove.getElementName() + " in " + cu.getElementName()); //$NON-NLS-1$//$NON-NLS-2$
IDocument document = getDocument(cu);
AST ast = astCU.getAST();
ASTRewrite rewriter = ASTRewrite.create(ast);