private void closeRequest(OnDemandData onDemandData)
    {
	try
	{
	    if(socket == null)
	    {
		long l = System.currentTimeMillis();
		if(l - openSocketTime < 4000L)
		    return;
		openSocketTime = l;
		socket = clientInstance.openSocket(43594 + client.portOff);
		inputStream = socket.getInputStream();
		outputStream = socket.getOutputStream();
		outputStream.write(15);
		for(int j = 0; j < 8; j++)
		    inputStream.read();

		loopCycle = 0;
	    }
	    ioBuffer[0] = (byte)onDemandData.dataType;
	    ioBuffer[1] = (byte)(onDemandData.ID >> 8);
	    ioBuffer[2] = (byte)onDemandData.ID;
	    if(onDemandData.incomplete)
		ioBuffer[3] = 2;
	    else
	    if(!clientInstance.loggedIn)
		ioBuffer[3] = 1;
	    else
		ioBuffer[3] = 0;
	    outputStream.write(ioBuffer, 0, 4);
	    writeLoopCycle = 0;
	    anInt1349 = -10000;
	    return;
	}
	catch(IOException ioexception) { }
	try
	{
	    socket.close();
	}
	catch(Exception _ex) { }
	socket = null;
	inputStream = null;
	outputStream = null;
	expectedSize = 0;
	anInt1349++;
    }