private void beatHeart(Thread thread)
		{
			while (curThread == thread)
			{
				try
				{
					long hbTime = System.currentTimeMillis();
					
					int id = invoke("loginService", "performLCDSHeartBeat", new Object[] { accountID, sessionToken, heartbeat, sdf.format(new Date()) });
					cancel(id); // Ignore result for now

					heartbeat++;

					// Quick sleeps to shutdown the heartbeat quickly on a reconnect
					while (curThread == thread && System.currentTimeMillis() - hbTime < 120000)
						sleep(100);
				}
				catch (Exception e)
				{
					if (!reconnecting)
						doReconnect();
				}
			}
		}