public void Stop() { try { if (client != null) { try { client.Close(); } catch (Exception ex) { DoCleanup(); throw ex; } } else { DoCleanup(); } } catch (Exception ex) { ErrorLogger.DumpToDebug(ex); } finally { FireClosed(); } }