code: public SimpleXmlNode deepCopy() {
      SimpleXmlNode rootCopy = shallowCopy();
      for (SimpleXmlNode child : _children) {
        rootCopy.getChildren().add(child.deepCopy());
      }
      return rootCopy;
    }
docs: Makes a deep copy of this node, including copies of all contained children.  The returned node will
  have the same name, text, and attributes as this node, and its list of children will contain deep copies
  of each child of this node.
  
  @return a deep copy of this node