///<inheritdoc/>
 public async Task <ApiReply> PostAsync(string route, object value)
 {
     Routes.Push(route);
     Parameters.Push(value);
     Methods.Push(HttpMethod.Post);
     return(await Task.FromResult(Replies.Pop()));
 }
 ///<inheritdoc/>
 public async Task <ApiReply <TEntity> > PostAsync <TEntity>(TEntity entity) where TEntity : IRootEntity
 {
     Parameters.Push(entity);
     Methods.Push(HttpMethod.Post);
     return(await Task.FromResult(Replies.Pop() as ApiReply <TEntity>));
 }
 ///<inheritdoc/>
 public async Task <ApiReply <TEntity> > GetAsync <TEntity>(object id) where TEntity : IRootEntity, new()
 {
     Parameters.Push(id);
     Methods.Push(HttpMethod.Get);
     return(await Task.FromResult(Replies.Pop() as ApiReply <TEntity>));
 }
 ///<inheritdoc/>
 public async Task <ApiReply <List <TEntity> > > GetAsync <TEntity>(IDictionary <string, object> searchParameters) where TEntity : IRootEntity, new()
 {
     Parameters.Push(searchParameters);
     Methods.Push(HttpMethod.Get);
     return(await Task.FromResult(Replies.Pop() as ApiReply <List <TEntity> >));
 }
 ///<inheritdoc/>
 public async Task <ApiReply> DeleteAsync <TEntity>(TEntity entity) where TEntity : IRootEntity
 {
     Parameters.Push(entity);
     Methods.Push(HttpMethod.Delete);
     return(await Task.FromResult(Replies.Pop()));
 }