Please throw `IllegalStateException` if `currentLengthOfSMS <= 0`. We all know that that shouldn't happen, but nevertheless "shit happens" :-) And it will save us from an infinite loop, which is worse.