public void SaveContinuationPoint(ContinuationPoint continuationPoint)
{
if (continuationPoint == null) throw new ArgumentNullException("continuationPoint");
lock (m_lock)
{
if (m_browseContinuationPoints == null)
{
m_browseContinuationPoints = new List<ContinuationPoint>();
}
// remove the first continuation point if too many points.
while (m_browseContinuationPoints.Count > m_maxBrowseContinuationPoints)
{
ContinuationPoint cp = m_browseContinuationPoints[0];
m_browseContinuationPoints.RemoveAt(0);
Utils.SilentDispose(cp);
}
// add to end of list.
m_browseContinuationPoints.Add(continuationPoint);
}
}