@Override
  public void compose(@NotNull StringBuilder buf, RefEntity refElement, CommonProblemDescriptor descriptor) {
    CommonProblemDescriptor[] descriptions = myTool.getDescriptions(refElement);

    int problemIdx = 0;
    if (descriptions != null) { //server-side inspections
      problemIdx = ArrayUtil.indexOf(descriptions, descriptor);
      if (problemIdx == -1) return;
    }

    genPageHeader(buf, refElement);
    appendHeading(buf, AnalysisBundle.message("inspection.problem.synopsis"));
    buf.append("<br>");
    appendAfterHeaderIndention(buf);

    composeDescription(descriptor, problemIdx, buf, refElement);

    if (refElement instanceof RefElement && !refElement.isValid()) return;

    final QuickFix[] fixes = descriptor.getFixes();
    if (fixes != null && fixes.length > 0) {
      buf.append("<br><br>");
      appendHeading(buf, AnalysisBundle.message("inspection.problem.resolution"));
      buf.append("<br>");
      appendAfterHeaderIndention(buf);

      int idx = 0;
      for (QuickFix fix : fixes) {
        buf.append("<a href=\"file://bred.txt#invokelocal:")
          .append(idx++)
          .append("\">")
          .append(escapeQuickFixText(fix.getName()))
          .append("</a><br>");
        appendAfterHeaderIndention(buf);
      }
    }
  }
@Override
  public void compose(@NotNull StringBuilder buf, RefEntity refElement, CommonProblemDescriptor descriptor)