private void handleTransmission(boolean blnRes)
	{
		this.setSysMsg(EzimLang.WaitingForResponse);
		this.jbtnYes.setVisible(false);
		this.jbtnNo.setVisible(false);
		this.jbtnClose.setVisible(true);

		EzimFrxList.getInstance().put(this.id, this);

		// let the user choose where to save the incoming file
		if (blnRes)
		{
			boolean blnRetry = true;

			while(blnRetry)
			{
				blnRetry = false;

				JFileChooser jfcTmp = new JFileChooser
				(
					EzimConf.UI_FILEIN_DIRECTORY
				);

				jfcTmp.setSelectedFile
				(
					new File
					(
						jfcTmp.getCurrentDirectory().getAbsolutePath()
						, this.remoteFName
					)
				);

				int iJfcRes = jfcTmp.showSaveDialog(this);

				if (iJfcRes == JFileChooser.APPROVE_OPTION)
				{
					EzimConf.UI_FILEIN_DIRECTORY
						= jfcTmp.getCurrentDirectory().getAbsolutePath();

					this.file = jfcTmp.getSelectedFile();

					if (this.file.exists())
					{
						int iDlgRes = JOptionPane.showConfirmDialog
						(
							null
							, EzimLang.OverwriteExistingFile
						);

						switch(iDlgRes)
						{
						case JOptionPane.NO_OPTION:
						default:
							this.file = null;
							blnRetry = true;
							break;
						case JOptionPane.CANCEL_OPTION:
							this.file = null;
						case JOptionPane.YES_OPTION:
						}
					}
				}
			}
		}

		boolean blnFinalRes = (blnRes && this.file != null);

		// respond back to the request
		EzimThreadPool.getInstance().execute
		(
			new EzimFileResponder
			(
				this.ec.getAddress()
				, this.ec.getPort()
				, this.id
				, blnFinalRes
			)
		);

		// close this incoming file window if the user has declined the
		// transmission or has not chosen where to save the file
		if (! blnFinalRes)
		{
			this.saveConf();
			this.unregDispose();
		}
	}