docs: public void openPath(String path) {
  
          if (!CmsStringUtil.isPrefixPath(m_root.getRootPath(), path)) {
              CmsSite site = OpenCms.getSiteManager().getSiteForRootPath(path);
              if (site != null) {
                  // the given path is a root path switch to the determined site
                  getSiteSelector().setValue(site.getSiteRoot());
                  path = m_currentCms.getRequestContext().removeSiteRoot(path);
              } else if (OpenCms.getSiteManager().startsWithShared(path)) {
                  getSiteSelector().setValue(OpenCms.getSiteManager().getSharedFolder());
              } else if (path.startsWith(CmsWorkplace.VFS_PATH_SYSTEM)) {
                  Container container = getSiteSelector().getContainerDataSource();
                  String newSiteRoot = null;
                  for (String possibleSiteRoot : Arrays.asList("", "/", "/system", "/system/")) {
                      if (container.containsId(possibleSiteRoot)) {
                          newSiteRoot = possibleSiteRoot;
                          break;
                      }
                  }
                  if (newSiteRoot == null) {
                      LOG.warn(
                          "Couldn't open path in site selector because neither root site nor system folder are in the site selector. path="
                              + path);
                      return;
                  }
                  getSiteSelector().setValue(newSiteRoot);
              }
          }
          if (!"/".equals(path)) {
              List<CmsUUID> idsToOpen = Lists.newArrayList();
              try {
                  CmsResource currentFolder = m_currentCms.readResource(CmsResource.getParentFolder(path));
                  if (!m_root.getStructureId().equals(currentFolder.getStructureId())) {
                      idsToOpen.add(currentFolder.getStructureId());
                      CmsResource parentFolder = null;
  
                      do {
                          try {
                              parentFolder = m_currentCms.readParentFolder(currentFolder.getStructureId());
                              idsToOpen.add(parentFolder.getStructureId());
                              currentFolder = parentFolder;
                          } catch (CmsException | NullPointerException e) {
                              LOG.info(e.getLocalizedMessage(), e);
                              break;
                          }
                      } while (!parentFolder.getStructureId().equals(m_root.getStructureId()));
                      // we need to iterate from "top" to "bottom", so we reverse the list of folders
                      Collections.reverse(idsToOpen);
  
                      for (CmsUUID id : idsToOpen) {
                          m_fileTree.expandItem(id);
                      }
                  }
              } catch (CmsException e) {
                  LOG.debug("Can not read parent folder of current path.", e);
              }
          }
      }