All of your new code would be more readable in a new sub-method that `correctInvalidListNesting` calls. How about `_removePsFromList` and it returns `true` if it had to make a correction and `false` if not. Then we can call it and use that value to early return from `correctInvalidListNesting` if we had to make changes.