public async Task<BoxFolder> CopyAsync(BoxFolderRequest folderRequest, List<string> fields = null)
{
folderRequest.ThrowIfNull("folderRequest")
.Id.ThrowIfNullOrWhiteSpace("folderRequest.Id");
folderRequest.Parent.ThrowIfNull("folderRequest.Parent")
.Id.ThrowIfNullOrWhiteSpace("folderRequest.Parent.Id");
BoxRequest request = new BoxRequest(_config.FoldersEndpointUri, string.Format(Constants.CopyPathString, folderRequest.Id))
.Method(RequestMethod.Post)
.Param(ParamFields, fields)
.Payload(_converter.Serialize(folderRequest));
IBoxResponse<BoxFolder> response = await ToResponseAsync<BoxFolder>(request).ConfigureAwait(false);
return response.ResponseObject;
}