correct equals and hashCode in ArtefactDef