/**
   * Generate the display of the results of the Define command
   *
   * @param data the result of the Define command
   * @param word the queried word
   * @return the formatted result
   */
  private String retrieveDefine(List<Definition> data, String word) {
    StringBuffer res = new StringBuffer();
    Definition def;

    for (int i = 0; i < data.size(); i++) {
      def = data.get(i);

      if (i != 0 && data.size() > 0) {
        res.append("<hr>");
      }
      res.append(def.getDefinition().replaceAll("\n", "<br>"))
          .append("<div align=\"right\"><font size=\"-2\">-- From ")
          .append(def.getDictionary())
          .append("</font></div>");
    }

    String result = res.toString();
    result = formatResult(result, "\\\\", "<em>", "</em>");
    result = formatResult(result, "[\\[\\]]", "<cite>", "</cite>");
    result = formatResult(result, "[\\{\\}]", "<strong>", "</strong>");
    result = formatWordDefined(result, word);

    return result;
  }