Program: 33483
Project: 33483
Buggy source:
public List<Row> fetchRows() throws IOException {
  List<Row> rows=new ArrayList<>();
  TreeMultimap<ByteBuffer,IndexEntryCollector.IndexEntry> docs=resultMapper.collector.docsByRowKey(table.metadata.getKeyValidator());
  NavigableSet<ByteBuffer> rowKeys=docs.keySet();
  for (  ByteBuffer rowKey : rowKeys) {
    if (columnsCount >= limit)     break;
    ArrayList<IndexEntryCollector.IndexEntry> entries=new ArrayList<>(docs.get(rowKey));
    final DecoratedKey dk=table.partitioner.decorateKey(rowKey);
    if (!resultMapper.filter.dataRange.contains(dk)) {
      if (SearchSupport.logger.isTraceEnabled()) {
        SearchSupport.logger.trace("String_Node_Str",dk.getToken());
      }
      continue;
    }
    final ColumnFamily fullSlice=resultMapper.fetchRangeSlice(entries,dk);
    for (    IndexEntryCollector.IndexEntry input : entries) {
      if (columnsCount >= limit)       break;
      CellName cellName=resultMapper.clusteringKey(input.primaryKey);
      if (!resultMapper.filter.columnFilter(dk.getKey()).maySelectPrefix(table.getComparator(),cellName.start())) {
        continue;
      }
      ColumnFamily data=resultMapper.fetchSingleRow(dk,fullSlice,cellName);
      if (resultMapper.searchSupport.deleteIfNotLatest(dk,data.maxTimestamp(),input.pkName,data))       continue;
      float score=input.score;
      ColumnFamily cleanColumnFamily=resultMapper.showScore ? scored(score,data) : data;
      resultMapper.removeDroppedColumns(cleanColumnFamily);
      rows.add(new Row(dk,cleanColumnFamily));
      columnsCount++;
    }
  }
  return rows;
}

Fixed version (ground truth):
public List<Row> fetchRows() throws IOException {
  List<Row> rows=new ArrayList<>();
  TreeMultimap<ByteBuffer,IndexEntryCollector.IndexEntry> docs=resultMapper.collector.docsByRowKey(table.metadata.getKeyValidator());
  NavigableSet<ByteBuffer> rowKeys=docs.keySet();
  for (  ByteBuffer rowKey : rowKeys) {
    ArrayList<IndexEntryCollector.IndexEntry> entries=new ArrayList<>(docs.get(rowKey));
    final DecoratedKey dk=table.partitioner.decorateKey(rowKey);
    if (!resultMapper.filter.dataRange.contains(dk)) {
      if (SearchSupport.logger.isTraceEnabled()) {
        SearchSupport.logger.trace("String_Node_Str",dk.getToken());
      }
      continue;
    }
    final Map<CellName,ColumnFamily> fullSlice=resultMapper.fetchRangeSlice(entries,dk);
    for (    IndexEntryCollector.IndexEntry input : entries) {
      CellName cellName=resultMapper.makeClusteringKey(input.primaryKey);
      if (!resultMapper.filter.columnFilter(dk.getKey()).maySelectPrefix(table.getComparator(),cellName.start())) {
        continue;
      }
      ColumnFamily data=fullSlice.get(cellName);
      if (data == null || resultMapper.searchSupport.deleteIfNotLatest(dk,data.maxTimestamp(),input.pkName,data))       continue;
      float score=input.score;
      ColumnFamily cleanColumnFamily=resultMapper.showScore ? scored(score,data) : data;
      resultMapper.removeDroppedColumns(cleanColumnFamily);
      rows.add(new Row(dk,cleanColumnFamily));
      columnsCount++;
      if (columnsCount >= limit)       break;
    }
    if (columnsCount >= limit)     break;
  }
  return rows;
}