docs: private StringBuffer buildPropertyRow(
          String propName,
          String propValue,
          String valueStructure,
          String valueResource,
          String disabled,
          String activeTab) {
  
          StringBuffer result = new StringBuffer(256);
          //        boolean existsPropertyValues = getActiveProperties().size() > 0;
          String structurePanelName = key(Messages.GUI_PROPERTIES_INDIVIDUAL_0);
          String inputAttrs = "class=\"maxwidth\"";
          if (structurePanelName.equals(activeTab)) {
              // in "shared properties" form, show resource value if no structure value is set
              if ("".equals(valueStructure) && !"".equals(valueResource)) {
                  inputAttrs = "class=\"dialogmarkedfield\"";
              }
          }
          result.append("<tr>\n");
          result.append("\t<td style=\"white-space: nowrap;\">" + propName);
          result.append("</td>\n");
          result.append("\t<td class=\"maxwidth\">");
  
          // build text input field
          result.append("<input type=\"text\" ");
          result.append(inputAttrs);
          result.append(" name=\"");
          result.append(PREFIX_VALUE);
          result.append(propName);
          result.append("\" id=\"");
          result.append(PREFIX_VALUE);
          result.append(propName);
          result.append("\"");
          result.append(" onFocus=\"deleteResEntry('");
          result.append(propName);
          result.append("', '");
          result.append(activeTab);
          result.append("');\"");
          result.append(" onBlur=\"checkResEntry('");
          result.append(propName);
          result.append("', '");
          result.append(activeTab);
          result.append("');\" onKeyup=\"checkValue('");
          result.append(propName);
          result.append("', '");
          result.append(activeTab);
          result.append("');\"");
          result.append(disabled);
          result.append(">");
  
          // build hidden input field for structure value
          result.append("<input type=\"hidden\" name=\"");
          result.append(PREFIX_STRUCTURE);
          result.append(propName);
          result.append("\" id=\"");
          result.append(PREFIX_STRUCTURE);
          result.append(propName);
          result.append("\" value=\"");
          result.append(CmsEncoder.escapeXml(valueStructure));
          result.append("\">");
  
          // build hidden input field for resource value
          result.append("<input type=\"hidden\" name=\"");
          result.append(PREFIX_RESOURCE);
          result.append(propName);
          result.append("\" id=\"");
          result.append(PREFIX_RESOURCE);
          result.append(propName);
          result.append("\" value=\"");
          result.append(CmsEncoder.escapeXml(valueResource));
          result.append("\"></td>\n");
          result.append("\t<td class=\"propertydialog-checkboxcell\">");
          // show checkbox always
          String prefix = PREFIX_RESOURCE;
          if (structurePanelName.equals(activeTab)) {
              prefix = PREFIX_STRUCTURE;
          }
          result.append("<input type=\"checkbox\" name=\"");
          result.append(PREFIX_USEPROPERTY);
          result.append(propName);
          result.append("\" id=\"");
          result.append(PREFIX_USEPROPERTY);
          result.append(propName);
          result.append("\" value=\"true\"");
          result.append(disabled);
          if (CmsStringUtil.isNotEmpty(propValue)) {
              result.append(" checked=\"checked\" ");
          }
          result.append("onClick=\"toggleDelete('");
          result.append(propName);
          result.append("', '");
          result.append(prefix);
          result.append("', '");
          result.append(activeTab);
          result.append("');\">");
          result.append("</td>\n");
  
          result.append("</tr>\n");
          return result;
      }