Test for null can precede test for skippedOne etc.

Test for current.compare(existingValue) == 0 can be executed once per loop and !skippedOne can be tested in a nested if.