docs: public String buildResourceList(List resourceList, boolean lockInfo) throws CmsException {
  
          // reverse the resource list
          Collections.reverse(resourceList);
          CmsMessages messages = Messages.get().getBundle(getLocale());
          StringBuffer result = new StringBuffer();
          result.append("<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"1\">\n");
          result.append("<tr>\n");
          // Type
          result.append("\t<td style=\"width:5%;\" class=\"textbold\">");
          result.append(messages.key(Messages.GUI_INPUT_TYPE_0));
          result.append("</td>\n");
          // Uri
          result.append("\t<td style=\"width:40%;\" class=\"textbold\">");
          result.append(messages.key(Messages.GUI_INPUT_ADRESS_0));
          result.append("</td>\n");
          // Name
          result.append("\t<td style=\"width:25%;\" class=\"textbold\">");
          result.append(messages.key(Messages.GUI_INPUT_TITLE_0));
          result.append("</td>\n");
          if (!lockInfo) {
              // Property value
              result.append("\t<td style=\"width:30%;\" class=\"textbold\">");
              result.append(messages.key(Messages.GUI_INPUT_PROPERTYVALUE_0));
              result.append("</td>\n");
          }
          if (lockInfo) {
              // Property value
              result.append("\t<td style=\"width:30%;\" class=\"textbold\">");
              result.append(messages.key(Messages.GUI_EXPLORER_LOCKEDBY_0));
              result.append("</td>\n");
              result.append("</tr>\n");
          }
          result.append("</tr>\n");
          result.append("<tr><td colspan=\"4\"><span style=\"height: 6px;\">&nbsp;</span></td></tr>\n");
  
          String storedSiteRoot = getCms().getRequestContext().getSiteRoot();
          try {
              getCms().getRequestContext().setSiteRoot("/");
              Iterator i = resourceList.iterator();
              while (i.hasNext()) {
                  CmsResource resource = (CmsResource)i.next();
                  String filetype = OpenCms.getResourceManager().getResourceType(resource.getTypeId()).getTypeName();
                  result.append("<tr>\n");
                  // file type
                  result.append("\t<td>");
                  result.append("<img src=\"");
                  result.append(getSkinUri());
                  result.append(CmsWorkplace.RES_PATH_FILETYPES);
                  result.append(filetype);
                  result.append(".gif\">");
                  result.append("</td>\n");
                  // file address
                  result.append("\t<td>");
                  result.append(resource.getRootPath());
                  result.append("</td>\n");
                  // title
                  result.append("\t<td>");
                  result.append(getJsp().property(CmsPropertyDefinition.PROPERTY_TITLE, resource.getRootPath(), ""));
                  result.append("</td>\n");
                  // current value of the property
                  if (!lockInfo) {
                      result.append("\t<td>");
                      result.append(getJsp().property(getParamPropertyName(), resource.getRootPath()));
                      result.append("</td>\n");
                  }
                  // locked by user
                  if (lockInfo) {
                      CmsLock lock = getCms().getLock(resource);
                      result.append("\t<td>");
                      result.append(getCms().readUser(lock.getUserId()).getName());
                      result.append("</td>\n");
                  }
                  result.append("</tr>\n");
              }
              result.append("</table>\n");
          } finally {
              getCms().getRequestContext().setSiteRoot(storedSiteRoot);
          }
  
          return result.toString();
      }