private synchronized void pollForFiles() {
		if (!isPolling) {
			isPolling = true;
			
			fileTransferExecutorService.execute(new Runnable() {
				public void run() {
					ArrayList<Future<String>> movedFutureVideos = new ArrayList<Future<String>>();
					while (true) {
						for (Future<String> futureVideo : futureVideos) {
							try {
								if (futureVideo.isDone()) {
									String video = futureVideo.get();
									File videoFile = new File(video);
									File downLoadedVideoFile = new File(downloadDirectory + File.separator + videoFile.getName());
									if (!videoFile.getAbsolutePath().equalsIgnoreCase(downLoadedVideoFile.getAbsolutePath())) {
										videoFile.renameTo(downLoadedVideoFile);
									}
									movedFutureVideos.add(futureVideo);
								}
							} catch (Exception e) {
								System.out.println("Exception occurred for video file: " + new Date());
								System.out.println(e.getClass().getCanonicalName() + ": " + e.getMessage());
								// Fuck it, dump the thing anyway. It's just temp :-P
								movedFutureVideos.add(futureVideo);
							}
						}
						futureVideos.removeAll(movedFutureVideos);
						if (movedFutureVideos.size() > 0 && futureVideos.isEmpty()) {
							System.out.println("Video download queue is now empty.");
						}
						movedFutureVideos.clear();
					}
				}
			});
		}
	}