code: public static Iterator<Cell> gatherTombstones(final ColumnFamily returnCF, final Iterator<? extends OnDiskAtom> iter)
      {
          return new Iterator<Cell>()
          {
              private Cell next;
  
              public boolean hasNext()
              {
                  if (next != null)
                      return true;
  
                  getNext();
                  return next != null;
              }
  
              public Cell next()
              {
                  if (next == null)
                      getNext();
  
                  assert next != null;
                  Cell toReturn = next;
                  next = null;
                  return toReturn;
              }
  
              private void getNext()
              {
                  while (iter.hasNext())
                  {
                      OnDiskAtom atom = iter.next();
  
                      if (atom instanceof Cell)
                      {
                          next = (Cell)atom;
                          break;
                      }
                      else
                      {
                          returnCF.addAtom(atom);
                      }
                  }
              }
  
              public void remove()
              {
                  throw new UnsupportedOperationException();
              }
          };
      }
docs: Given an iterator of on disk atom, returns an iterator that filters the tombstone range
  markers adding them to {@code returnCF} and returns the normal column.