private void load(int index) throws IOException { IndexCursorItem item = items.get(index); List<Date> totalDays = indexer.getIndexedDays(item.tableName, item.indexName); // index can be dropped while iterating if (totalDays == null) throw new IOException( "table [" + item.tableName + "] index [" + item.indexName + "] is dropped"); List<Date> filtered = DateUtil.filt(totalDays, query.getMinDay(), query.getMaxDay()); DateUtil.sortByDesc(filtered); currentCursor = new IndexCursorImpl( item.indexId, item.tableId, item.tableName, filtered, query.getTerm(), indexBaseDir, item.buffer.iterator()); }