public static async Task <PaginatedCollection <G> > GetRelatedModelPaginationAsync <G>(string relation, int?id, CancellationToken cancellationToken = default)
        {
            RouteAttribute routeAttribute = typeof(T).GetCustomAttributes(false).FirstOrDefault(x => x.GetType() == typeof(RouteAttribute)) as RouteAttribute;

            string url = routeAttribute.GetRelationshipRoute(id, relation);

            RestRequest request = new RestRequest(url, Method.GET, DataFormat.Json);

            IRestResponse <PaginatedCollection <G> > restResponse = await DataConnection.RequestAsync <PaginatedCollection <G> >(request, cancellationToken);

            return(restResponse.Data);
        }
        public virtual async Task <G> PostRelatedAsync <G>(string relation, int?id, CancellationToken cancellationToken = default)
        {
            RouteAttribute routeAttribute = typeof(T).GetCustomAttributes(false).FirstOrDefault(x => x.GetType() == typeof(RouteAttribute)) as RouteAttribute;

            string url = routeAttribute.GetRelationshipRoute(id, relation);

            RestRequest request = new RestRequest(url, Method.POST, DataFormat.Json);

            request.AddJsonBody(this);

            IRestResponse <G> restResponse = await DataConnection.RequestAsync <G>(request, cancellationToken);

            return(restResponse.Data);
        }