Ok, but that doesn't make any sense...there are no threads involved. And even if there were...you can't change a returned instance afterwards, i.e. if it returns null, it will stay null forever. So this loop will never be entered if the loading goes fine and it will never terminate if null will be returned.
Maybe it's something else...are you trying to render the model while still loading/adding it? Can you post the null pointer exception you are getting?