private void performNextRequest() { bool ok = false; LongPollingRequest nextRequest = null; lock (this) { if (transportQueue.Count > 0 && transmissions.Count <= 1) { ok = true; nextRequest = transportQueue[0]; transportQueue.Remove(nextRequest); transmissions.Add(nextRequest); } } if (ok && nextRequest != null) { nextRequest.send(); } }