private IAzManSid[] getCachedLDAPQueryResults(IAzManApplicationGroup applicationGroup) { string key = "applicationGroup " + applicationGroup.ApplicationGroupId.ToString(); if (!this.ldapQueryResults.ContainsKey(key)) { lock (ldapQueryResults) { if (!this.ldapQueryResults.ContainsKey(key)) { //LDAP Group var ldapQueryResult = applicationGroup.ExecuteLDAPQuery(); if (ldapQueryResult != null) { IAzManSid[] membersResults = new IAzManSid[ldapQueryResult.Count]; for (int i = 0; i < ldapQueryResult.Count; i++) { membersResults[i] = new SqlAzManSID((byte[])ldapQueryResult[i].Properties["objectSid"][0]); } this.ldapQueryResults.Add(key, membersResults); } } } } return (IAzManSid[])this.ldapQueryResults[key]; }