public async Task<BoxFolder> RestoreTrashedFolderAsync(BoxFolderRequest folderRequest, List<string> fields = null)
{
folderRequest.ThrowIfNull("folderRequest")
.Id.ThrowIfNullOrWhiteSpace("folderRequest.Id");
BoxRequest request = new BoxRequest(_config.FoldersEndpointUri, folderRequest.Id)
.Method(RequestMethod.Post)
.Param(ParamFields, fields);
// ID shall not be used in request body it is used only as url attribute
string oldId = folderRequest.Id;
folderRequest.Id = null;
request.Payload(_converter.Serialize(folderRequest));
folderRequest.Id = oldId;
IBoxResponse<BoxFolder> response = await ToResponseAsync<BoxFolder>(request).ConfigureAwait(false);
return response.ResponseObject;
}