I know this isn't part of this review, but I needed to expand the whole file to try and understand the diff. Given that line 17 exits unconditionally, it seems unneeded to have an else on line 18.