Mapping of principal name and optional class-name field.
The one interesting characteristic of this class is that equals and hashCode
only take into account the principal name field so two instances with the same
principal name but different classnames would be considered equal.