The SerializableIterator is a clumsy concept in my opinion. If someone has an iterator that is also serializable, he would still have to wrap it in an extra iterator.

Can you change this to something like
```
public <T extends Iterator<?>, Serializable> void setIterator(T iter) {
  this.iter = iter;
}
```

That way, all classes that are already serializable iterators work out of the box.