tree e0551e2cd5da52bee701e31d51aac02ad78470a1
parent 5a0a5103dd7dd8fa32e6574a54ffeb30930fadfb
author Andrew Grieve <agrieve@google.com> 1699473434 -0500
committer Christoffer Adamsen <christofferqa@google.com> 1699517041 +0000

Add non-default implementation of peekNext() / peekPrevious() where applicable

And make IteratorUtils.peekPrevious() return null (instead of throw)
when !iterator.hasPrevious().

These methods sound like they should not have side-effects, but they
can change which value is removed when remove() is called.

E.g.: For A->B->C->D:
it.next() --> current = A
it.next() --> current = B
it.peekNext()
  it.next() --> current = C
  it.previous() --> current = C

This change tries to guard against remove() being called after peek
methods by making it trigger InvalidStateException() in most cases.

Bug: None
Change-Id: I224e79043f96ea3028b3d95969bdc0f9e1d2f534