public Object getAttribute(Object key) { return attributes[key]; }
public override bool evaluate(ObjectWithDynamicAttributes p) { return value.Equals(p.getAttribute(key)); }