public ISet <string> Intersection([Nullable] AttributeDict other) { if (other == null || other.Size() == 0 || Size() == 0) { return(new HashSet <string>()); } ISet <string> result = new HashSet <string>(attributes.Keys); result.IntersectWith(other.attributes.Keys); return(result); }