I thought about that and realized I'd basically be following this path: primitive -> object -> primitive.  This approach keeps it all primitive.  I followed the `hashCode()` implementations of the objects themselves.