Since this class implements equals() and hashCode() it should either be final or handle subclasses in equals(); given this is unlikely to be subclassed, making it final is the simpler option.