public Task PutQueueMetadata(QueueUri queueUri, IEnumerable<QueueMetadataNameValuePair> userMetadata)
 {
     var queueMetadataUri = new QueueMetadataUri(queueUri.Account, queueUri.QueueName.ToString());
     var additionalHeaders = userMetadata.Select(x => new NameValueHeaderValue("x-ms-meta-" + x.Name, x.Value));
     var result = _GetHttpClientAdapter(queueUri.Account).Put(queueMetadataUri, additionalHeaders);
     return result.ContinueWith(x =>
                             {
                                 if (x.Result.StatusCode != HttpStatusCode.NoContent)
                                     throw new AzureStorageException("PutQueueMetadata", queueMetadataUri, x.Result);
                             });
 }
 public Task<QueueMetadata> GetQueueMetadata(QueueUri queueUri)
 {
     var queueMetadataUri = new QueueMetadataUri(queueUri.Account, queueUri.QueueName.ToString());
     var result = _GetHttpClientAdapter(queueUri.Account).Get(queueMetadataUri);
     return result.ContinueWith(x =>
                                    {
                                        if (x.Result.StatusCode != HttpStatusCode.OK)
                                            throw new AzureStorageException("GetQueueMetadata", queueMetadataUri, x.Result);
                                        return _ParseQueueMetadataResponse(x.Result);
                                    });
 }