public IVersionedLinkedListNode <T> GetNext(ulong version, IVersionedLinkedListNode <T> currentNode) { VersionedLinkedListNode node = (VersionedLinkedListNode)currentNode; node = node.Next; return(ScanListLookingForNextNodeMatchingVersion(version, node)); }
public void MarkForRemove(IVersionedLinkedListNode <T> nodeToRemove) { VersionedLinkedListNode node = (VersionedLinkedListNode)nodeToRemove; if (_recursionCount == 0) { Remove(node); } else { node.MarkForDelete(); _toBeRemoved.Push(node); } }