public object GetOrCreate(ObjectNodeKey key, Func<Object> creator) { if (map.ContainsKey(key)) { return map[key]; } object value = creator(); map.Add(key, value); return value; }
protected bool Equals(ObjectNodeKey other) { return number == other.number && Equals(type, other.type); }
public bool HasObject(ObjectNodeKey key) { return map.ContainsKey(key); }
public object GetObject(ObjectNodeKey key) { return map[key]; }