public Task <RawEndpointResult> LoadRawLinkWithBody <BodyType>(string rel, BodyType data)
 {
     if (links != null)
     {
         var link = links[rel];
         if (link != null)
         {
             var client = new HalEndpointClient(link.ToObject <HalLink>(), clientFactory);
             return(client.LoadRaw(data, default(Object)));
         }
     }
     throw new InvalidOperationException($"Cannot find a link named {rel}.");
 }
        public Task <RawEndpointResult> LoadRawLink(string rel)
        {
            if (links != null)
            {
                var jObjLink = links[rel];
                if (jObjLink != null)
                {
                    var link = jObjLink.ToObject <HalLink>();
                    //Since this is a no arg request add any request data
                    if (link.RequestData != null && link.RequestData.Count > 0)
                    {
                        return(LoadRawLinkWithData(rel, link.RequestData));
                    }

                    var client = new HalEndpointClient(link, clientFactory);
                    return(client.LoadRaw(default(Object), default(Object)));
                }
            }
            throw new InvalidOperationException($"Cannot find a link named {rel}.");
        }