public boolean hasNext() {
try {
return i < size();
} catch (IOException e) {
throw new IORuntimeException(e);
}
}
public G next() {
try {
return get(i++);
} catch (IOException e) {
throw new IORuntimeException(e);
}
}
public void remove() {
try {
setPosition(--i);
iterator.remove();
} catch (IOException e) {
throw new IORuntimeException(e);
}
}
};
}