return getCellLocation(x, y + rowHeight, tree, mod, node, getNextVisibleNode(startNode)); }
  Point getCellLocation(int x, int y, JTree tree, TreeModel mod, Object node,                        Object startNode)  {      int rowHeight = getRowHeight();      if (startNode == null || startNode.equals(node))  {        if (!tree.isRootVisible()            && tree.isExpanded(new TreePath(mod.getRoot())))          return new Point(x + ((getLevel(node)) * rightChildIndent), y);                 return new Point(x + ((getLevel(node) + 1) * rightChildIndent), y);  }			      if (!mod.isLeaf(startNode)        && tree.isExpanded(new TreePath(getPathToRoot(startNode, 0)))         && !mod.isLeaf(startNode) && mod.getChildCount(startNode) > 0)      {         Object child = mod.getChild(startNode, 0);         if (child != null)          return getCellLocation(x, y + rowHeight, tree, mod, node, child);  }               return getCellLocation(x, y + rowHeight, tree, mod, node,                           getNextVisibleNode(startNode));	}