code: private Iterator<Record> decodeRows(List<Map.Entry<ByteBuffer, Key>> keys, final Rows<ByteBuffer, DeltaKey> rows,
                                          final int largeRowThreshold, final ReadConsistency consistency) {
          // Avoiding pinning multiple decoded rows into memory at once.
          return Iterators.transform(keys.iterator(), new Function<Map.Entry<ByteBuffer, Key>, Record>() {
              @Override
              public Record apply(Map.Entry<ByteBuffer, Key> entry) {
                  Row<ByteBuffer, DeltaKey> row = rows.getRow(entry.getKey());
                  if (row == null) {
                      return emptyRecord(entry.getValue());
                  }
                  // Convert the results into a Record object, lazily fetching the rest of the columns as necessary.
                  return newRecord(entry.getValue(), row.getRawKey(), row.getColumns(), largeRowThreshold, consistency, null);
              }
          });
      }
docs: Decodes rows returned by querying for a specific set of rows.