private static LoadCollectionRequestData getLoadCollectionRequest(IIdoQueryBuilder idoParameterBuilder, bool topLevel)
        {
            var props = idoParameterBuilder.GetProperties();
            if (props.IsNullOrEmpty())
            {
                idoParameterBuilder.Add(new[] { IdoConstants.KEY });
            }
            var loadCollectionRequest = new LoadCollectionRequestData(idoParameterBuilder.GetIDOName(),
                                                                      idoParameterBuilder.GetProperties(),
                                                                      idoParameterBuilder.GetFilter(), "", idoParameterBuilder.GetMaxResults()) { LoadCap = 0 };
            loadCollectionRequest.SetContext("AUTOMATION", "AUTOMATION", "AUTOMATION", "IDO");

            if (idoParameterBuilder.HasLinkFields)
            {
                if (topLevel)
                    throw new SytelineInterfaceQueryException();
                var pairList = idoParameterBuilder.GetLinkFields();
                var linkField = pairList[0];
                if (pairList.Length == 1)
                    loadCollectionRequest.SetLinkBy(linkField.ParentProperty, linkField.ChildProperty);
                else
                    loadCollectionRequest.SetLinkBy(linkField.ParentProperty, linkField.ChildProperty,
                        get_additional_pairs(pairList));
            }


            foreach (IIdoQueryBuilder child in idoParameterBuilder.GetChildren())
            {
                loadCollectionRequest.AddNestedRequest(getLoadCollectionRequest(child, false));
            }
            return loadCollectionRequest;
        }