public ISourceRange internalGetNewSelectionRange(
ISourceRange oldSourceRange, ISourceReference sr,
SelectionAnalyzer selAnalyzer) throws ModelException {
if (oldSourceRange.getLength() == 0
&& selAnalyzer.getLastCoveringNode() != null) {
ASTNode previousNode = NextNodeAnalyzer.perform(
oldSourceRange.getOffset(),
selAnalyzer.getLastCoveringNode());
if (previousNode != null)
return getSelectedNodeSourceRange(sr, previousNode);
}