void ArtaObjects::oop_print_xml_on(oop o, xmlBuffer *xb, bool ref) {
  if (ref) {
    // objref printing
assert(o->is_oop_or_null(),"o is invalid");
    if (o == NULL) {
      xmlElement xe(xb, "object_ref");
      null_print_xml_on(xb);
      return;
    }
  } else {
    // object printing
assert(o!=NULL,"o is NULL");
assert(o->is_oop(),"o an invalid oop");
  }
  o->print_xml_on(xb, ref);
}