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);
}