probably needs hashCode and equals, or a note explaining why it doesn't.
NamespaceIdentifier will as well.