protected override void derivedReset(DLink pLink)
        {
            Debug.Assert(pLink != null);
            CollisionPair pNode = (CollisionPair)pLink;

            pNode.deepClean();
        }
        public static void Reset()
        {
            // ensure call Create() first
            CollisionPairMan pMan = CollisionPairMan.GetInstance();

            Debug.Assert(pMan != null);

            CollisionPair pCollisionPair = (CollisionPair)pMan.pActive;

            while (pCollisionPair != null)
            {
                pCollisionPair.deepClean();
                pCollisionPair = (CollisionPair)pCollisionPair.pNext;
            }

            pMan.baseSetActiveHead(null);
        }