public void remove() {
if (_current != null) {
// Uses the previous record (not affected by the remove)
// to set the next record.
final Record previous = _current.getPrevious();
_collection.delete(_current);
_current = null;
_next = previous.getNext();
} else {
throw new IllegalStateException();
}
}