Fix return inconsistent return points

If the position is out of range, then it would simply `return` unlike all other `return`s in the function.  This can at least break at line 201, as well as anyone overriding expecting a return.

This change causes it to return `this` in all cases to avoid any unexpected exceptions.