docs: static String maybeEscapeElementValue(final String pValue) {
          int startEscape = needsEscapeElement(pValue);
  
          if (startEscape < 0) {
              // If no escaping is needed, simply return original
              return pValue;
          }
          else {
              // Otherwise, start replacing
              StringBuilder builder = new StringBuilder(pValue.substring(0, startEscape));
              builder.ensureCapacity(pValue.length() + 30);
  
              int pos = startEscape;
              for (int i = pos; i < pValue.length(); i++) {
                  switch (pValue.charAt(i)) {
                      case '&':
                          pos = appendAndEscape(pValue, pos, i, builder, "&amp;");
                          break;
                      case '<':
                          pos = appendAndEscape(pValue, pos, i, builder, "&lt;");
                          break;
                      case '>':
                          pos = appendAndEscape(pValue, pos, i, builder, "&gt;");
                          break;
                      //case '\'':
                      //case '"':
                      default:
                          break;
                  }
              }
  
              builder.append(pValue.substring(pos));
              return builder.toString();
          }
      }