public async Task CloneAsync(string id) {
try {
id = id?.Trim();
if (string.IsNullOrWhiteSpace(id)) return;
await Task.Run(() => {
FileUtils.CopyRecursive(Location, FileUtils.EnsureUnique(Path.Combine(Path.GetDirectoryName(Location) ?? "", id)));
});
} catch (Exception ex) {
NonfatalError.Notify(ToolsStrings.AcObject_CannotClone, ToolsStrings.AcObject_CannotClone_Commentary, ex);
}
}