public XArchBulkQueryResultNode[] getChildren(String tagName) {
   synchronized (children) {
     // tagName = XArchFlatImpl.capFirstLetter(tagName);
     ArrayList cl = new ArrayList();
     for (Iterator it = children.iterator(); it.hasNext(); ) {
       XArchBulkQueryResultNode child = (XArchBulkQueryResultNode) it.next();
       if (child.getTagName().equals(tagName)) {
         cl.add(child);
       }
     }
     return (XArchBulkQueryResultNode[]) cl.toArray(new XArchBulkQueryResultNode[0]);
   }
 }
 public void addChild(XArchBulkQueryResultNode child) {
   synchronized (children) {
     children.add(child);
     child.setParent(this);
   }
 }
 public void removeChild(XArchBulkQueryResultNode child) {
   synchronized (children) {
     children.remove(child);
     child.setParent(null);
   }
 }