docs: protected CmsLazyTreeItem createItem(final CmsVfsEntryBean vfsEntry) {
  
          String name = null;
          String rootPath = vfsEntry.getRootPath();
          if (rootPath.equals("/") || rootPath.equals("")) {
              name = "/";
          } else {
              name = CmsResource.getName(vfsEntry.getRootPath());
  
              if (name.endsWith("/")) {
                  name = name.substring(0, name.length() - 1);
              }
          }
          CmsDataValue dataValue = new CmsDataValue(
              600,
              3,
              vfsEntry.getSmallIconClasses(),
              name,
              vfsEntry.getDisplayName());
          if (vfsEntry.isSearchMatch()) {
              dataValue.setSearchMatch(true);
          }
          dataValue.setUnselectable();
          if (vfsEntry.isEditable()) {
              dataValue.addButton(createUploadButtonForTarget(vfsEntry.getRootPath(), true));
          }
          CmsLazyTreeItem result;
          SelectionHandler selectionHandler;
          CmsCheckBox checkbox = null;
          if (isIncludeFiles()) {
              checkbox = new CmsCheckBox();
              result = new CmsLazyTreeItem(checkbox, dataValue, true);
              selectionHandler = new SelectionHandler(vfsEntry, checkbox);
              checkbox.addClickHandler(selectionHandler);
              dataValue.addClickHandler(selectionHandler);
              dataValue.addButton(createSelectButton(selectionHandler));
          } else {
              result = new CmsLazyTreeItem(dataValue, true);
              selectionHandler = new SelectionHandler(vfsEntry, null);
          }
          // we need this in a final variable to access it in the click handler
          if (getTabHandler().hasSelectResource()) {
              String selectPath = m_tabHandler.getSelectPath(vfsEntry);
              dataValue.addButton(
                  createSelectResourceButton(
                      selectPath,
                      vfsEntry.getStructureId(),
                      vfsEntry.getDisplayName(),
                      I_CmsGalleryProviderConstants.RESOURCE_TYPE_FOLDER));
          }
          result.setData(vfsEntry);
          m_itemsByPath.put(vfsEntry.getRootPath(), result);
          result.setLeafStyle(false);
          result.setSmallView(true);
          m_treeItems.add(result);
          if (vfsEntry.getChildren() != null) {
              for (CmsVfsEntryBean child : vfsEntry.getChildren()) {
                  result.addChild(createItem(child));
              }
              result.onFinishLoading();
              result.setOpen(true, false);
              if (vfsEntry.getChildren().isEmpty()) {
                  result.setLeafStyle(true);
              }
          }
  
          return result;
      }