*/
	public void testRunnableNotFinishedAndHandshakeFailure() throws Exception {
		testBasic();
		feedData(clientEngine, clientList, serverEngine, serverList);				
		
		log.fine("B*******************************************");
		clientEngine.beginHandshake();
		String expected = "abcasdfaasdfsdfsfsfdsfs";
		ByteBuffer data = ByteBuffer.allocate(100);
		helper.putString(data, expected);
		helper.doneFillingBuffer(data);
		clientEngine.feedPlainPacket(data, null);
		
		ByteBuffer b = clientList.getPacketEncrypted();
		ByteBuffer encData = clientList.getPacketEncrypted();
		
		serverEngine.feedEncryptedPacket(b, null);
		Runnable r = serverList.getRunnable();

		try {
			serverEngine.feedEncryptedPacket(encData, null);
			fail("Should have thrown exception since Runnable has not completed yet");
		} catch(IllegalStateException e) {}
		
		try {
			data.rewind();
			serverEngine.feedPlainPacket(data, null);
			fail("Should have thrown exception since Runnable has not completed yet");			
		} catch(IllegalStateException e) {}
		
		r.run();
		
		b = serverList.getPacketEncrypted();
		
		try {
			clientEngine.feedEncryptedPacket(data, null);
			fail("Should have thrown exception");
		} catch(AsyncSSLEngineException e) {}
		
		b = clientList.getPacketEncrypted();
		Assert.assertTrue(clientList.isClosed());
		
		try {
			serverEngine.feedEncryptedPacket(b, null);
			fail("not sure why this throws exceptoin...I expected it to be able to take a close handshake message");
		} catch(AsyncSSLEngineException e) {}
		
		serverList.getPacketEncrypted();
		Assert.assertTrue(serverList.isClosed());
	}