@Override
 public boolean equals(Object obj) {
   if (obj == this) {
     return true;
   }
   if (!(obj instanceof OWLDataUnionOf)) {
     return false;
   }
   OWLDataUnionOf other = (OWLDataUnionOf) obj;
   return getOperands().equals(other.getOperands());
 }
 @Override
 public void visit(OWLDataUnionOf node) {
   handleObject(node);
   for (OWLDataRange rng : node.getOperands()) {
     rng.accept(this);
   }
 }
 @Override
 public void visit(OWLDataUnionOf node) {
   for (Iterator<OWLDataRange> it = node.getOperands().iterator(); it.hasNext(); ) {
     it.next().accept(this);
     if (it.hasNext()) {
       writeSpace();
       write(OR);
       writeSpace();
     }
   }
 }
 @Override
 public void visit(OWLDataUnionOf node) {
   Set<OWLDataRange> ranges = duplicateSet(node.getOperands());
   obj = dataFactory.getOWLDataUnionOf(ranges);
 }
 public void visit(OWLDataUnionOf node) {
   for (OWLDataRange dr : node.getOperands()) {
     dr.accept(this);
   }
 }
 @Override
 protected int compareObjectOfSameType(OWLObject object) {
   OWLDataUnionOf other = (OWLDataUnionOf) object;
   return compareSets(getOperands(), other.getOperands());
 }