{
view = data.getView();
// startAt == minimum is ok, but stopAt == minimum is confusing because all IntervalTree deals with
// is Comparable, so it won't know to special-case that.
Comparable stopInTree = stopAt.isMinimum() ? view.intervalTree.max() : stopAt;
sstables = view.intervalTree.search(new Interval(startWith, stopInTree));
if (SSTableReader.acquireReferences(sstables))
break;
// retry w/ new view
}
return new ViewFragment(sstables, Iterables.concat(Collections.singleton(view.memtable), view.memtablesPendingFlush));