code: @Override
  	public ExtendedIterator<Pair<T, I>> iterator() {
  		return new ExtendedIterator<Pair<T, I>>() {
  			CellIterator itr = matrix.iterator();
  			@Override public Pair<T, I> next() {return indexToPair(itr.next());}
  			@Override public boolean hasNext() {return itr.hasNext();}
  			@Override public void remove() {itr.remove();}
  
  			@Override
  			public void skipAllBefore(Pair<T, I> element) {
  				itr.skipAllBefore(
  						transactionToIndex(element.transaction), 
  						itemToIndex(element.item));
  			}
  		};
  	}
docs: {@inheritDoc}