Why do you make this method chain throw exceptions up the stack when you just bury them in the end?  If you never intend to do any handling of these exceptions, can you just handle them inside of the reLogin() method so the calls are cleaner?