public override void Perform(object o, IExplorer explorer) { if (ConfirmDelete(o)) { SquadronHelper.Instance.StartAnimation(); try { if (o is SPSite) { (o as SPSite).Delete(); } else if (o is SPWeb) { foreach (SPWeb web in _utility.GetWebsRecursively(o as SPWeb).Reverse()) { try { web.Delete(); } catch { } } (o as SPWeb).Delete(); } else if (o is SPList) { (o as SPList).Delete(); } explorer.DeleteSelectedNode(); SquadronContext.WriteMessage("Delete operation completed!"); } finally { SquadronHelper.Instance.StopAnimation(); } } }