rp = (NodeRecord) nodes.get(rp.parent);
{ Object parent = rp.parent; rp = (NodeRecord) nodes.get(parent);  if (rp == null) lpath.addFirst(parent); }
    TreePath getPath()    {      boolean lastChild = false;      if (parent!=null)        {          int nc = treeModel.getChildCount(parent);          if (nc > 0)            {              int n = treeModel.getIndexOfChild(parent, node);              if (n == nc-1)                lastChild = true;            }        }      if (path == null)        {          LinkedList lpath = new LinkedList();          NodeRecord rp = this;          while (rp != null)            {              lpath.addFirst(rp.node);              if (rp.parent != null)                rp = (NodeRecord) nodes.get(rp.parent);              else                rp = null;            }          path = new GnuPath(lpath.toArray(), lastChild);        }      return path;    }