protected virtual IEnumerable <string> GetParts()
            {
                if (Select.Any())
                {
                    yield return("$select=" + String.Join(",", Select));
                }

                if (Expand.Any())
                {
                    yield return("$expand=" + String.Join(",", Expand.Select(e => $"{e.PropertyName}({e})")));
                }

                if (Filter.Any())
                {
                    yield return("$filter=" + String.Join(" and ", Filter));
                }
            }