@Override
  public String checkTagValue(PsiDocTagValue value) {
    if (value == null) return JavaPsiBundle.message("javadoc.param.tag.parameter.name.expected");
    final ASTNode firstChildNode = value.getNode().getFirstChildNode();
    if (firstChildNode != null &&
        firstChildNode.getElementType().equals(JavaDocTokenType.DOC_TAG_VALUE_LT)) {
      if (value.getNode().findChildByType(JavaDocTokenType.DOC_TAG_VALUE_TOKEN) == null) {
        return JavaPsiBundle.message("javadoc.param.tag.type.parameter.name.expected");
      }

      if (value.getNode().findChildByType(JavaDocTokenType.DOC_TAG_VALUE_GT) == null) {
        return JavaPsiBundle.message("javadoc.param.tag.type.parameter.gt.expected");
      }
    }
    return null;
  }
@Override
  public String checkTagValue(PsiDocTagValue value)