public static string AquireLease(LeaseBlockBlobSettings blobSettings, int maximumStopDurationEstimateSeconds)
{
var blob = GetBlobReference(blobSettings);
if (blobSettings.ReAquirePreviousTestLease)
BreakTestLeaseIfExists(blob);
var retryCount = blobSettings.RetryCount;
var leaseId = blob.TryAcquireLease(maximumStopDurationEstimateSeconds);
while (leaseId == null && retryCount > 0)
{
Thread.Sleep(blobSettings.RetryInterval);
leaseId = blob.TryAcquireLease(maximumStopDurationEstimateSeconds);
retryCount--;
}
return leaseId;
}