code: public static final String decode(String str)
      {
          Matcher m = ENT.matcher(str);
          StringBuffer sb = new StringBuffer();
          while (m.find())
          {
              String entity = m.group(1);
              Matcher m2 = HENT.matcher(entity);
              Integer codePoint = null;
              if (m2.matches())
              {
                  codePoint = Integer.parseInt(m2.group(1));
              }
              else
              {
                  codePoint = codePointMap.get(entity);
              }
              if (codePoint == null)
              {
                  m.appendReplacement(sb, m.group());
              }
              else
              {
                  String s = new String(new int[] {codePoint.intValue()}, 0, 1);
                  m.appendReplacement(sb, s);
              }
          }
          m.appendTail(sb);
          return sb.toString();
      }
docs: Decodes String from HTML format. &amp; -&gt; &amp;
  @param str
  @return