code: public void updateSitePath(String sitepath, I_CmsSitemapController controller) {
  
          if (!isLeafType() && !sitepath.endsWith("/")) {
              sitepath = sitepath + "/";
          }
          if (!m_sitePath.equals(sitepath)) {
              // update the vfs path as well
              int start = m_vfsPath.lastIndexOf(m_sitePath);
              int stop = start + m_sitePath.length();
              m_vfsPath = CmsStringUtil.joinPaths(m_vfsPath.substring(0, start), sitepath, m_vfsPath.substring(stop));
              if (isLeafType() && m_vfsPath.endsWith("/")) {
                  m_vfsPath = m_vfsPath.substring(0, m_vfsPath.length() - 1);
              }
              String oldPath = m_sitePath;
              m_sitePath = sitepath;
              String name = CmsResource.getName(sitepath);
              if (name.endsWith("/")) {
                  name = name.substring(0, name.length() - 1);
              }
              m_name = name;
              for (CmsClientSitemapEntry child : m_subEntries) {
                  child.updateSitePath(CmsStringUtil.joinPaths(sitepath, child.getName()), controller);
              }
              if (controller != null) {
                  controller.registerPathChange(this, oldPath);
              }
          }
      }
docs: Updates the entry's site path and the name accordingly.<p>
  
  @param sitepath the new site path to set
  @param controller a sitemap controller instance