public IntPair next() {
   int x = i++;
   return new IntPair(x, mapping.getTarget(x));
 }
 public boolean hasNext() {
   return (i < mapping.getSourceCount()) || (mapping.getSourceCount() == -1);
 }