System.Net.HttpListener.ClearDigestCache C# (CSharp) Method

ClearDigestCache() private method

private ClearDigestCache ( ) : void
return void
        private void ClearDigestCache()
        {
            if (_savedDigests == null)
            {
                return;
            }

            ArrayList[] toClose = new ArrayList[3];
            lock (_savedDigests)
            {
                toClose[0] = _extraSavedDigestsBaking;
                _extraSavedDigestsBaking = null;
                toClose[1] = _extraSavedDigests;
                _extraSavedDigests = null;

                _newestContext = 0;
                _oldestContext = 0;

                toClose[2] = new ArrayList();
                for (int i = 0; i < MaximumDigests; i++)
                {
                    if (_savedDigests[i].context != null)
                    {
                        toClose[2].Add(_savedDigests[i].context);
                        _savedDigests[i].context = null;
                    }
                    _savedDigests[i].timestamp = 0;
                }
            }

            for (int j = 0; j < toClose.Length; j++)
            {
                if (toClose[j] != null)
                {
                    for (int k = 0; k < toClose[j].Count; k++)
                    {
                        ((NTAuthentication)toClose[j][k]).CloseContext();
                    }
                }
            }
        }