@Override
 public void visit(OWLDataUnionOf node) {
   handleObject(node);
   for (OWLDataRange rng : node.getOperands()) {
     rng.accept(this);
   }
 }
 @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;
 }
 public void visit(OWLDataUnionOf node) {
   for (OWLDataRange dr : node.getOperands()) {
     dr.accept(this);
   }
 }