public void testClientThrowsIntoDataHandlerFarEndClosed() throws Exception {
		setNumberOfExpectedWarnings(1);

		//make sure we are testing the right one....
		Class c = Class.forName(getChannelImplName());
		assertEquals("should be instance of correct channel type", c, client1.getClass());
	
		String msg = "some exception message";
		IOException e = new IOException(msg);
		mockServer.addThrowException("farEndClosed", e);
		
		client1.bind(loopBackAnyPort);		
		client1.oldConnect(svrAddr, (ConnectionCallback)mockConnect);
		client1.registerForReads((DataListener)mockHandler);
		
		mockConnect.expect("connected");
		TCPChannel svrChan = expectServerChannel(mockServer, c);

		verifyDataPassing(svrChan);
		verifyTearDown();
		//shutdown of threaded CM is complicated...set stop method on threaded CM.
		//We must sleep or thread could be interrupted and never log an error.
		//This is a race condition, but only when we are stopping the ChannelManager
		specialCaseThreadedCM();
	}