IScanner scanner= getSurroundingComment(buffer); if (scanner == null) {
IScanner scanner= ToolFactory.createScanner(true, false, false, false); scanner.setSource(buffer.getContent().toCharArray());  int token= getSurroundingComment(scanner); if (token == ITerminalSymbols.TokenNameEOF) {
	private Position getUpdatedPosition(TextBuffer buffer) {		IScanner scanner= getSurroundingComment(buffer);		if (scanner == null) {			return null;		}		int commentStart= scanner.getCurrentTokenStartPosition();		int commentEnd= scanner.getCurrentTokenEndPosition() + 1;		TextRegion startRegion= buffer.getLineInformationOfOffset(commentStart);		int start= startRegion.getOffset();		if (hasContent(buffer.getContent(start, fLocation.getOffset() - start))) {			return null;		}		int end;		if (buffer.getChar(commentStart) == '/' && buffer.getChar(commentStart + 1) == '/') {			end= commentEnd;		} else {			int endLine= buffer.getLineOfOffset(commentEnd - 1);			if (endLine + 1 == buffer.getNumberOfLines()) {				TextRegion endRegion= buffer.getLineInformation(endLine);				end= endRegion.getOffset() + endRegion.getLength();			} else {				TextRegion endRegion= buffer.getLineInformation(endLine + 1);				end= endRegion.getOffset();			}							}		int posEnd= fLocation.getOffset() + fLocation.getLength();		if (hasContent(buffer.getContent(posEnd, end - posEnd))) {			return null;		}		return new Position(start, end - start);	}