private void CommenceCopy() { if (IsWindowsCopy()) { CurrentItem.CopyTo(DestinationPath, this); } else if (SourceFileSystem.IsWindowsFileSystem && !DestFileSystem.IsWindowsFileSystem) { ((FTPFileSystem)DestFileSystem).Upload((WindowsFile)CurrentItem); } else if (!SourceFileSystem.IsWindowsFileSystem && DestFileSystem.IsWindowsFileSystem) { ((FTPFileSystem)SourceFileSystem).Download((FTPFile)CurrentItem, DestinationPath); } else { System.Diagnostics.Debug.Assert(true, "Not supported copy"); } ProcessedItems.Add(CurrentItem); }