/** * Removes the current element in the iteration. * * @throws java.lang.IllegalStateException if the next method has not yet been called, or the * remove method has already been called after the last call to the next method. * @see java.util.Iterator#remove() */ @Override public void remove() { Assert.state(nextCalled.compareAndSet(true, false), "next was not called before remove"); iterators.peek().remove(); }