protected System.Security.PermissionSet InstantiatePermissionAttributes() { System.Security.PermissionSet permissions = new System.Security.PermissionSet(System.Security.Permissions.PermissionState.None); AttributeList permissionAttributes = this.PermissionAttributes; for(int i = 0, n = permissionAttributes == null ? 0 : permissionAttributes.Count; i < n; i++) { //^ assert permissionAttributes != null; object result = this.GetPermissionOrSetOfPermissionsFromAttribute(permissionAttributes[i]); if(result == null) continue; if(result is System.Security.PermissionSet) permissions = permissions.Union((System.Security.PermissionSet)result); else { System.Security.IPermission permission = result as System.Security.IPermission; if(permission == null) continue; permissions.AddPermission(permission); } } return permissions; }