public static IGraphQLQuery <T> GraphQL <T>(string entity) where T : class
        {
            var possibleFields = PropertyCollector.BuildPropertyTreeFor <T>();

            if (!possibleFields.Any())
            {
                throw new ArgumentException($"Type {typeof(T).Name} doesn't contain any appropriate fields, please use GraphQLClass and GraphQLProperty");
            }

            return(new GraphQLQuery <T>(entity, possibleFields));
        }