The check is different because it's not in the same place in relation to the while (true) and the break. Using >= 4 breaks existing unit tests.