private int checkLevel(String bigWord, Collection dict, MinMax minMax)
{
/*value initialised to losing*/
int value = 0;
if (minMax ==
Something somewhere is modifying dict
. I suspect it might be happening inside this call:
int value2 = checkLevel(removeWord(bigWord, str, i), dict, passin);
^^^^
edit Basically, what happens is that the recursive call to checkLevel()
modifies dict
through another iterator. This makes the outer iterator's fail-fast behaviour to kick in.