public void appendOwner(XmlWriter writer, String owner) {
   boolean validHref;
   if (owner == null) {
     log.warn("owner is null");
     validHref = false;
   } else {
     validHref = isValidHref(owner);
   }
   log.debug("appendOwner: " + validHref + " - " + stripHrefOnOwner);
   if (!validHref
       && stripHrefOnOwner) { // BM: reversed login on validHref - presumably only write href tag
                              // for href values???
     writer.writeProperty(null, "D:owner", owner);
   } else {
     XmlWriter.Element el = writer.begin("D:owner").open();
     XmlWriter.Element el2 = writer.begin("D:href").open();
     if (owner != null) {
       el2.writeText(owner);
     }
     el2.close();
     el.close();
   }
 }
 public void appendRoot(XmlWriter writer, String lockRoot) {
   XmlWriter.Element el = writer.begin("D:lockroot").open();
   writer.writeProperty(null, "D:href", lockRoot);
   el.close();
 }
 public void appendTokenId(XmlWriter writer, String tokenId) {
   XmlWriter.Element el = writer.begin("D:locktoken").open();
   writer.writeProperty(null, "D:href", "opaquelocktoken:" + tokenId);
   el.close();
 }