docs: protected StringBuffer buildPropertyEntry(String propertyName, String propertyTitle, boolean editable) {
  
          StringBuffer result = new StringBuffer(256);
          // create "disabled" attribute if properties are not editable
          String disabled = "";
          if (!editable) {
              disabled = " disabled=\"disabled\"";
          }
          result.append(buildTableRowStart(propertyTitle));
          // the property is used, so create text field with checkbox and hidden field
          CmsProperty currentProperty = getActiveProperties().get(propertyName);
          String propValue = "";
          if (currentProperty != null) {
              propValue = currentProperty.getValue();
          }
          if (propValue != null) {
              propValue = propValue.trim();
          }
          propValue = CmsEncoder.escapeXml(propValue);
  
          // create text input field
          result.append("<input type=\"text\" class=\"maxwidth\"");
          result.append(" name=\"");
          result.append(PREFIX_VALUE);
          result.append(propertyName);
          result.append("\" id=\"");
          result.append(PREFIX_VALUE);
          result.append(propertyName);
          result.append("\"");
          if (editable) {
              result.append(" onKeyup=\"checkValue('");
              result.append(propertyName);
              result.append("');\"");
          }
          result.append(disabled);
          result.append(">");
  
          // create hidden field for value
          result.append("<input type=\"hidden\" name=\"");
          result.append(PREFIX_HIDDEN);
          result.append(propertyName);
          result.append("\" id=\"");
          result.append(PREFIX_HIDDEN);
          result.append(propertyName);
          result.append("\" value=\"");
          result.append(propValue);
          result.append("\">");
          result.append("</td>\n");
          result.append("\t<td class=\"propertydialog-checkboxcell\">");
  
          // create activate/deactivate checkbox
          result.append("<input type=\"checkbox\" name=\"");
          result.append(PREFIX_USEPROPERTY);
          result.append(propertyName);
          result.append("\" id=\"");
          result.append(PREFIX_USEPROPERTY);
          result.append(propertyName);
          result.append("\" value=\"true\"");
          if (CmsStringUtil.isNotEmpty(propValue)) {
              result.append(" checked=\"checked\"");
          }
          if (editable) {
              result.append(" onClick=\"toggleDelete('");
              result.append(propertyName);
              result.append("');\"");
          }
          result.append(disabled + ">");
  
          result.append(buildTableRowEnd());
          return result;
      }