The reason I did it this way is that we need to wait for a call to be found, so this likely will have to run several times until a call is found. I preferred to check whether a call was returned in the wait rather than catch an exception. If you think the latter is preferable please explain why.