### Question:
ImageMapUtilities { public static String htmlEscape(String input) { if (input == null) { throw new IllegalArgumentException("Null 'input' argument."); } StringBuilder result = new StringBuilder(); int length = input.length(); for (int i = 0; i < length; i++) { char c = input.charAt(i); if (c == '&') { result.append("&amp;"); } else if (c == '\"') { result.append("&quot;"); } else if (c == '<') { result.append("&lt;"); } else if (c == '>') { result.append("&gt;"); } else if (c == '\'') { result.append("&#39;"); } else if (c == '\\') { result.append("&#092;"); } else { result.append(c); } } return result.toString(); }  static void writeImageMap(PrintWriter writer, String name,
            ChartRenderingInfo info); static void writeImageMap(PrintWriter writer,
            String name, ChartRenderingInfo info,
            boolean useOverLibForToolTips); static void writeImageMap(PrintWriter writer, String name,
            ChartRenderingInfo info,
            ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
            URLTagFragmentGenerator urlTagFragmentGenerator); static String getImageMap(String name, ChartRenderingInfo info); static String getImageMap(String name, ChartRenderingInfo info,
            ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
            URLTagFragmentGenerator urlTagFragmentGenerator); static String htmlEscape(String input); static String javascriptEscape(String input);  }### Answer:
@Test public void testHTMLEscape() { assertEquals("", ImageMapUtilities.htmlEscape("")); assertEquals("abc", ImageMapUtilities.htmlEscape("abc")); assertEquals("&amp;", ImageMapUtilities.htmlEscape("&")); assertEquals("&quot;", ImageMapUtilities.htmlEscape("\"")); assertEquals("&lt;", ImageMapUtilities.htmlEscape("<")); assertEquals("&gt;", ImageMapUtilities.htmlEscape(">")); assertEquals("&#39;", ImageMapUtilities.htmlEscape("\'")); assertEquals("&#092;abc", ImageMapUtilities.htmlEscape("\\abc")); assertEquals("abc\n", ImageMapUtilities.htmlEscape("abc\n")); }