public boolean insert(DataObject dao) { if (treeObjects.size() == 0) { return insert(dao, null); } else { return insert(dao, treeObjects.get(0)); } } public boolean insert(DataObject dao, DataObject whereToStart) { if (whereToStart == null) { treeObjects.add(dao); return true; } if (dao.getKey() < whereToStart.getKey()) { return insert(dao, whereToStart.getLeftChild()); } else { return insert(dao, whereToStart.getRightChild()); } }