/// <summary> /// Retracts the object. /// </summary> /// <param name="data">The data.</param> public virtual void retractObject(Object data) { if (StaticFacts.ContainsKey(data)) { IFact ft = (IFact)StaticFacts.RemoveWithReturn(data); retractFact(ft); // we should probably recyle the factId before we // clean the fact ft.clear(); } else if (DynamicFacts.ContainsKey(data)) { IFact ft = (IFact)DynamicFacts.RemoveWithReturn(data); retractFact(ft); // we should probably recyle the factId before we // clean the fact ft.clear(); } }