@Override
 public void visit(OWLDatatypeRestriction node) {
   write("DatatypeRestriction");
   node.getDatatype().accept(this);
   for (OWLFacetRestriction r : node.getFacetRestrictions()) {
     writeSpace();
     r.accept(this);
   }
 }
 @Override
 public void visit(OWLDatatypeRestriction node) {
   node.getDatatype().accept(this);
   OWLDatatype dr = (OWLDatatype) obj;
   Set<OWLFacetRestriction> restrictions = new HashSet<OWLFacetRestriction>();
   for (OWLFacetRestriction restriction : node.getFacetRestrictions()) {
     restriction.accept(this);
     restrictions.add((OWLFacetRestriction) obj);
   }
   obj = dataFactory.getOWLDatatypeRestriction(dr, restrictions);
 }
 @Override
 public void visit(OWLFacetRestriction node) {
   node.getFacetValue().accept(this);
   OWLLiteral val = (OWLLiteral) obj;
   obj = dataFactory.getOWLFacetRestriction(node.getFacet(), val);
 }
 @Override
 public void visit(OWLFacetRestriction node) {
   handleObject(node);
   node.getFacetValue().accept(this);
 }
 public void visit(OWLFacetRestriction node) {
   node.getFacetValue().accept(this);
 }
 public void visit(OWLDatatypeRestriction node) {
   node.getDatatype().accept(this);
   for (OWLFacetRestriction facetRestriction : node.getFacetRestrictions()) {
     facetRestriction.accept(this);
   }
 }
 @Override
 public void visit(OWLFacetRestriction node) {
   write("Facet");
   write(node.getFacet());
   node.getFacetValue().accept(this);
 }