@Override
        public void endTag(final CharSequence localName, final String namespace, final int startoffset, final int endoffset) {
          final @NonNls String name = StringUtil.toLowerCase(localName.toString());
          if ("meta".equals(name) && (metHttpEquiv || metHtml5Charset) && contentAttributeValue != null) {
            String charsetName;
            if (metHttpEquiv) {
              int start = contentAttributeValue.indexOf(CHARSET_PREFIX);
              if (start == -1) return;
              start += CHARSET_PREFIX.length();
              int end = contentAttributeValue.indexOf(';', start);
              if (end == -1) end = contentAttributeValue.length();
              charsetName = contentAttributeValue.substring(start, end);
            }
            else /*if (metHttml5Charset) */ {
              charsetName = StringUtil.unquoteString(contentAttributeValue);
            }
            charsetNameRef.set(charsetName);
            terminate();
          }
          if ("head".equals(name)) {
            terminate();
          }
          inTag.remove(name);
          metHttpEquiv = false;
          metHtml5Charset = false;
          contentAttributeValue = null;
        }
@Override
        public void endTag(final CharSequence localName, final String namespace, final int startoffset, final int endoffset)