protected void runRunnable(Runnable r) {
		r.run();
		
		try {
			if(log.isLoggable(Level.FINER))
				log.finer(id+"Running actual task now");
			
			continueFromTask();
		} catch(IOException e) {
			log.log(Level.WARNING, id+"not continuing handshake, exception occurred", e);
			initiateClose();
		} finally {
			runningRunnable = false;
		}		
	}