JavaModelUtil.reconcile(fCompilationUnit);
synchronized (fCompilationUnit) { fCompilationUnit.reconcile(); }
	public TextRange getReplaceRange(TextBuffer textBuffer) throws JavaModelException {		JavaModelUtil.reconcile(fCompilationUnit);		IImportContainer container= fCompilationUnit.getImportContainer();		if (container.exists()) {			ISourceRange importSourceRange= container.getSourceRange();			int startPos= importSourceRange.getOffset();			int endPos= startPos + importSourceRange.getLength();			if (!Strings.isLineDelimiterChar(textBuffer.getChar(endPos - 1))) {				// if not already after a new line, go to beginning of next line				// (if last char in new line -> import ends with a comment, see 10557)				int nextLine= textBuffer.getLineOfOffset(endPos) + 1;				if (nextLine < textBuffer.getNumberOfLines()) {					int stopPos= textBuffer.getLineInformation(nextLine).getOffset();					// read to beginning of next character or beginning of next line					while (endPos < stopPos && Character.isWhitespace(textBuffer.getChar(endPos))) {						endPos++;					}				}			}			return new TextRange(startPos, endPos - startPos);		} else {			int start= getPackageStatementEndPos(textBuffer);			return new TextRange(start, 0);		}			}