### Question:
MutableChildIterator implements Iterator<N> { @Override public boolean hasNext() { return iterator.hasNext(); } MutableChildIterator(N node, Iterator<? extends N> iterator); @Override boolean hasNext(); @Override N next(); @Override void remove();  }### Answer:
@Test public void hasNext() { final MutableChildIterator<String, MutableNode<String>> mutableIterator = new MutableChildIterator<>(parent, iterator); assertTrue(mutableIterator.hasNext()); mutableIterator.next(); assertFalse(mutableIterator.hasNext()); }