public void Move(Godot.Collections.Array <FSViewTree.Node> source, FSViewTree.DirNode dest) { if (source.Count == 0) { return; } try { foreach (FSViewTree.Node item in source) { if (item is FSViewTree.DirNode) { Move((item as FSViewTree.DirNode) !, dest); } else if (item is FSViewTree.FileNode) { Move((item as FSViewTree.FileNode) !, dest); } } } catch (Exception e) { GD.PrintErr($"Warning: move of {source.ToString()} to {dest.path} failed"); GD.PrintErr($"Exception Text: {e.Message}"); GD.PrintErr("Stack Trace:\n" + e.StackTrace); } return; }