private void RecreateWebRequest(Action<HttpWebRequest> action)
{
// we now need to clone the request, since just calling GetRequest again wouldn't do anything
var newWebRequest = (HttpWebRequest) WebRequest.Create(Url);
newWebRequest.Method = webRequest.Method;
HttpJsonRequestHelper.CopyHeaders(webRequest, newWebRequest);
newWebRequest.Credentials = webRequest.Credentials;
action(newWebRequest);
if (postedData != null)
{
HttpJsonRequestHelper.WriteDataToRequest(newWebRequest, postedData);
}
webRequest = newWebRequest;
}