docs: @Override
    public final String unescapeXml(final String pSource) throws Exception {
      StringBuffer sb = new StringBuffer();
      StringBuffer sbEsc = new StringBuffer();
      boolean isStartEsc = false;
      for (int i = 0; i < pSource.length(); i++) {
        char ch = pSource.charAt(i);
        if (!isStartEsc && ch == '&') {
          isStartEsc = true;
          sbEsc.append(ch);
          continue;
        } else if (isStartEsc) {
          sbEsc.append(ch);
          if (ch == ';') {
            sb.append(xmlUnescape(sbEsc.toString()));
            sbEsc.delete(0, sbEsc.length());
            isStartEsc = false;
          }
        } else {
          sb.append(ch);
        }
      }
      return sb.toString();
    }