@Override
 public boolean equals(Object obj) {
   if (super.equals(obj)) {
     // superclass is responsible for null, identity, owlaxiom type and annotations
     if (!(obj instanceof OWLDatatypeDefinitionAxiom)) {
       return false;
     }
     OWLDatatypeDefinitionAxiom other = (OWLDatatypeDefinitionAxiom) obj;
     return datatype.equals(other.getDatatype()) && dataRange.equals(other.getDataRange());
   }
   return false;
 }