public void MoveDirectory(TransferRequest request)
		{
			if (IsTransferInProgress == false)
			{
				try
				{
					IsTransferInProgress = true;

					var stack = new Stack<Folders>();
					stack.Push(new Folders(request.SourcePath, request.DestinationPath));

					while (stack.Count > 0)
					{
						var folders = stack.Pop();
						Directory.CreateDirectory(folders.Target);
						foreach (var file in Directory.GetFiles(folders.Source, "*.*"))
						{
							string targetFile = Path.Combine(folders.Target, Path.GetFileName(file));
							if (File.Exists(targetFile)) File.Delete(targetFile);
							File.Move(file, targetFile);
						}

						foreach (var folder in Directory.GetDirectories(folders.Source))
						{
							stack.Push(new Folders(folder, Path.Combine(folders.Target, Path.GetFileName(folder))));
						}
					}
					Directory.Delete(request.SourcePath, true);
				}
				finally
				{
					IsTransferInProgress = false;

					Requests.Remove(request);
				}
			}
		}
		/// <summary>
		/// To do validate request here
		/// Filter for weather request should be added to request pool
		/// </summary>
		/// <param name="request"></param>
		public void RequestFileTransfer(TransferRequest request)
		{
			Requests.Add(request);
		}