public ItemSecurity[] QueryItemPermissions(string[] identityNames, string[] items, RecursionType recursion) { Message msg = new Message(GetWebRequest(new Uri(Url)), "QueryItemPermissions"); msg.Body.WriteStartElement("itemSpecs"); foreach (string item in items) { ItemSpec spec = new ItemSpec(item, recursion); spec.ToXml(msg.Body, "ItemSpec"); } msg.Body.WriteEndElement(); List <ItemSecurity> itemSecurities = new List <ItemSecurity>(); using (HttpWebResponse response = Invoke(msg)) { XmlReader results = msg.ResponseReader(response); while (results.Read()) { if (results.NodeType == XmlNodeType.Element && results.Name == "ItemSecurity") { itemSecurities.Add(ItemSecurity.FromXml(this, results)); } } } return(itemSecurities.ToArray()); }