public object Clone() { // make sure object isnt disposed. CheckDisposed(); var desktop = new Desktop(); // if a desktop is open, make the clone open it. if (IsOpen) desktop.Open(DesktopName); return desktop; }