// convenience method for callers that know only one sstable is involved in the transaction
 public SSTableReader onlyOne() {
   assert originals.size() == 1;
   return getFirst(originals, null);
 }
 /** check this transaction has never been used */
 private void checkUnused() {
   assert logged.isEmpty();
   assert staged.isEmpty();
   assert identities.size() == originals.size();
   assert originals.size() == marked.size();
 }