public void Move(AbsoluteDirectoryPath source, AbsoluteDirectoryPath destination) { if (!ShellHelper.TryPureMove(source, destination, Directory.Move)) { ShellHelper.DirectoryCopy(source.NativePath, destination.NativePath, copySubDirs: true); Directory.Delete(source.NativePath, recursive: true); } }