public static IDirectory Copy(this IDirectory dir, params string[] destinationParts) { var destination = destinationParts.Combine(); if (Directory.Exists(destination)) { dir.CopyToExactPath(System.IO.Path.Combine(destination, dir.Name())); } else { dir.CopyToExactPath(destination); } return(dir); }