no return please. create an inner tailrec method instead that aborts on this condition