private void CommenceMove() { if (IsWindowsMove()) { CurrentItem.MoveTo(DestinationPath, this); } else if (SourceFileSystem.IsWindowsFileSystem && !DestFileSystem.IsWindowsFileSystem) { ((FTPFileSystem)DestFileSystem).Upload((WindowsFile)CurrentItem); FileSystem.Delete(CurrentItem); } else if (!SourceFileSystem.IsWindowsFileSystem && DestFileSystem.IsWindowsFileSystem) { ((FTPFileSystem)SourceFileSystem).Download((FTPFile)CurrentItem, DestinationPath); FileSystem.Delete(CurrentItem); } else { System.Diagnostics.Debug.Assert(true, "Not supported move"); } ProcessedItems.Add(CurrentItem); }