public static void Reify(this DyLogicObject logicObj, IEnumerable <Goal> goals) { IEnumerable <KeyValuePair <object, object> > pairs = LogicSharp.logic_All(goals, logicObj.Properties); if (pairs == null) { return; } foreach (KeyValuePair <object, object> pair in pairs) { if (!logicObj.Properties.ContainsKey(pair.Key)) { logicObj.Properties.Add(pair.Key, pair.Value); } } }