@Override
	public void executeTask() {
		try {
			fs = new ServerSocket(ClientGUITask.port);
		} catch (Exception e) {
			System.out.println("problem with initial file sender setup");
		}
		try {
			do {
				while (!ClientGUITask.clientSend)
					;
				try {
					if (ClientGUITask.port != fs.getLocalPort()) {
						fs.close();
						System.out.println((new StringBuilder())
								.append("Opened port ")
								.append(ClientGUITask.port)
								.append(" for sending files").toString());
						fs = new ServerSocket(ClientGUITask.port);
					}
					fs.setSoTimeout(0x186a0);
					ClientSenderTask fileserver = new ClientSenderTask(
							fs.accept());
					TaskManager.DoTask(fileserver);
				} catch (Exception e) {
					System.out.println((new StringBuilder())
							.append("Client sender handler : ").append(e)
							.toString());
					System.out
							.println("(handler times out to allow port change)");
				}
			} while (true);
		} catch (Exception e) {
			System.out.println("But this should be impossible!");
		}
		ClientGUITask.clientSenderExists = false;
	}