public static void ExecuteElevatedCode(SPWeb normalWeb, PrivilegedCodeDelegate webCode)
 {
     if (!normalWeb.UserIsSiteAdmin)
     {
         SPSecurity.RunWithElevatedPrivileges(delegate()
         {
             using (SPSite site = new SPSite(normalWeb.Site.Url))
             {
                 site.AllowUnsafeUpdates = true;
                 SPWeb elevatedWeb       = site.OpenWeb();
                 try
                 {
                     elevatedWeb.AllowUnsafeUpdates = true;
                     webCode(elevatedWeb);
                 }
                 finally
                 {
                     elevatedWeb.Dispose();
                 }
             }
         });
     }
     else
     {
         webCode(normalWeb);
     }
 }
 public static void ExecuteElevatedCode(SPWeb normalWeb, PrivilegedCodeDelegate webCode, SPBasePermissions permissionToCheck)
 {
     if (normalWeb.DoesUserHavePermissions(permissionToCheck))
     {
         webCode(normalWeb);
     }
     else
     {
         ExecuteElevatedCode(normalWeb, webCode);
     }
 }
 public static void ExecuteElevatedCode(Guid siteId, Guid webId, PrivilegedCodeDelegate webCode)
 {
     using (SPSite site = new SPSite(siteId))
     {
         SPWeb normalWeb = site.OpenWeb(webId);
         try
         {
             ExecuteElevatedCode(normalWeb, webCode);
         }
         finally
         {
             // Release web resources.
             normalWeb.Dispose();
         }
     }
 }