List<String> decorateTextWithHtml(String text, DecorationDataHolder decorationDataHolder) {
    return decorateTextWithHtml(text, decorationDataHolder, null, null);
  }
@Test
  public void should_allow_multiple_levels_highlighting() {

    String javaDocSample =
      "/**" + LF_END_OF_LINE +
        " * Creates a FormulaDecorator" + LF_END_OF_LINE +
        " *" + LF_END_OF_LINE +
        " * @param metric the metric should have an associated formula" + LF_END_OF_LINE +
        " * " + LF_END_OF_LINE +
        " * @throws IllegalArgumentException if no formula is associated to the metric" + LF_END_OF_LINE +
        " */" + LF_END_OF_LINE;

    DecorationDataHolder decorationData = new DecorationDataHolder();
    decorationData.loadSyntaxHighlightingData("0,184,cppd;47,53,k;");

    HtmlTextDecorator htmlTextDecorator = new HtmlTextDecorator();
    List<String> htmlOutput = htmlTextDecorator.decorateTextWithHtml(javaDocSample, decorationData);

    assertThat(htmlOutput).containsExactly(
      "<span class=\"cppd\">/**</span>",
      "<span class=\"cppd\"> * Creates a FormulaDecorator</span>",
      "<span class=\"cppd\"> *</span>",
      "<span class=\"cppd\"> * @param <span class=\"k\">metric</span> the metric should have an associated formula</span>",
      "<span class=\"cppd\"> * </span>",
      "<span class=\"cppd\"> * @throws IllegalArgumentException if no formula is associated to the metric</span>",
      "<span class=\"cppd\"> */</span>",
      ""
    );
  }