protected override void derivedUpdate(ColSubject pColSubject)
        {
            //Debug.WriteLine("[Observer({4})] ColPair {5}({3}) - RemoveCollisionPairObserver: {0} vs {1}({2})", pColSubject.pObjA.name, pColSubject.pObjB.name, pColSubject.pObjB.GetHashCode(), this.pColPair.GetHashCode(), this.GetHashCode(), this.pColPair.name);
            //Debug.WriteLine(this.pColPair + "MARKED FOR DEATH");

            if (this.pColPair.bMarkForDeath == false)
            {
                //ColPairManager.PrintReport();
                this.pColPair.bMarkForDeath = true;

                //Delay - remove object later
                RemoveCollisionPairObserver pObserver = new RemoveCollisionPairObserver(this);
                DelayedObjectManager.Attach(pObserver);
            }
        }
 public RemoveCollisionPairObserver(RemoveCollisionPairObserver pRCPObserver)
 {
     this.pColPair = pRCPObserver.pColPair;
 }