Why you call this function again...this calls it again..and again...and again...and again
...think about..what you are doing there >.<
What I think he was intending was to make sure that the job delivery isn't close. Something like it will find a destination, check the distance, then reallocate a destination due to it being too short.