+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean isLeaf()\r
+ {\r
+ return (left == null) && (right == null);\r
+ }\r
+\r
+ /**\r
+ * attaches FIRST and SECOND node arguments as the LEFT and RIGHT children of this node (removing any old references)\r
+ * a null parameter DOES NOT mean that the pointer to the corresponding child node is set to NULL - you should use\r
+ * setChild(null), or detach() for this.\r
+ *\r
+ */\r
+ public void SetChildren(BinaryNode leftchild, BinaryNode rightchild)\r
+ {\r
+ if (leftchild != null)\r