public override ACCredentialHolderSearchResults SearchCredentialHolders(string searchString, int searchLimit) { var partialResult = false; var searchResult = new List <ACCredentialHolderSearchResult>(); try { var credentialHolders = _client.SearchCredentialHolders(searchString); foreach (var ch in credentialHolders) { searchResult.Add(new ACCredentialHolderSearchResult(ch.CredentialHolderId.ToString(), ch.CredentialHolderName, ch.Roles)); } // Demo Access Control system does not support search limit, so we truncate the result if (searchResult.Count > searchLimit) { searchResult.RemoveRange(searchLimit, searchResult.Count - searchLimit); partialResult = true; } } catch (DemoApplicationClientException ex) { ACUtil.Log(true, "DemoACPlugin.CredentialHolderManager", "Error searching credential holders: " + ex.Message); } return(new ACCredentialHolderSearchResults(searchResult, partialResult)); }