public String toStringForInput() {
    StringBuffer rep = new StringBuffer("\t*** Start of TreeNode ***\n");
    rep.append(super.toString() + "\n");

    BufForShadows sobj_buf;
    Iterator sobj_bufs = this.shadowbufs.iterator();
    for (int buf_idx = 1; sobj_bufs.hasNext(); buf_idx++) {
      sobj_buf = (BufForShadows) sobj_bufs.next();
      rep.append("\t BufForShadows No. " + buf_idx + "\n");
      rep.append(sobj_buf + "\n");
    }

    rep.append("\t*** End of TreeNode ***\n");
    return rep.toString();
  }
 public String toString() {
   StringBuffer rep = new StringBuffer("\t*** Start of TreeNode ***\n");
   rep.append(super.toString() + "\n");
   if (childnode != null) {
     BufForShadows belowbuf;
     Iterator belowbufs = childnode.shadowbufs.iterator();
     for (int buf_idx = 1; belowbufs.hasNext(); buf_idx++) {
       belowbuf = (BufForShadows) belowbufs.next();
       rep.append("\t BufForShadows No. " + buf_idx + "\n");
       rep.append(belowbuf + "\n");
     }
   }
   rep.append("\t*** End of TreeNode ***\n");
   return rep.toString();
 }