final TextEdit editCode = codeFormatter.format(
CodeFormatter.K_COMPILATION_UNIT
| CodeFormatter.F_INCLUDE_COMMENTS, source, 0,
source.length(), 0, System.getProperty("line.separator"));
IDocument document = new Document(source);
if (icu != null && document != null && editCode != null) {
try {
editCode.apply(document);
} catch (MalformedTreeException e) {
CrashReporter.reportException(e);
} catch (BadLocationException e) {
CrashReporter.reportException(e);
}
try {
icu.becomeWorkingCopy(null);
icu.getBuffer().setContents(document.get());
icu.reconcile(ICompilationUnit.NO_AST, false, null, null);
icu.commitWorkingCopy(true, null);
icu.discardWorkingCopy();
} catch (JavaModelException e) {
CrashReporter.reportException(e);