public async Task <IEnumerable <IOrganizationStructureState> > GetAsync(ICriterion filter, IList <string> orders = null, int firstResult = 0, int maxResults = int.MaxValue, IList <string> fields = null) { IEnumerable <IOrganizationStructureState> states = null; var q = new OrganizationStructuresGetQuery(); q.FirstResult = firstResult; q.MaxResults = maxResults; q.Sort = OrganizationStructureProxyUtils.GetOrdersQueryValueString(orders); q.Fields = OrganizationStructureProxyUtils.GetReturnedFieldsQueryValueString(fields, QueryFieldValueSeparator); q.Filter = OrganizationStructureProxyUtils.GetFilterQueryValueString(filter); var req = new OrganizationStructuresGetRequest(); req.Query = q; var resp = await _ramlClient.OrganizationStructures.Get(req); OrganizationStructureProxyUtils.ThrowOnHttpResponseError(resp); states = (resp.Content == null) ? null : resp.Content.Select(e => e.ToOrganizationStructureState()); return(states); }