### Question:
AbstractIterator implements Iterator<E> { @Override public boolean hasNext() { if (state == NOT_CACHED) { state = CACHED; nextElement = fetch(); } return state == CACHED; }  @Override boolean hasNext(); @Override E next(); @Override void remove();  }### Answer:
@Test public void testEmpty() { RangeIterator i = new RangeIterator(1, 0); assertFalse(i.hasNext()); assertFalse(i.hasNext()); }