TagRegistry { public static void loadAllTagClasses() { final Map<String, Class<?>> unloadedClasses = new HashMap<>(); for (final Entry<String, Class<?>> entry : tagClassByTagNameTmp .entrySet()) { try { Class.forName(entry.getValue().getName()); } catch (final ClassNotFoundException e) { unloadedClasses.put(entry.getKey(), entry.getValue()); if (LOGGER.isLoggable(Level.WARNING)) { LOGGER.warning("Could not load tag class " + entry.getValue().getName()); } } } tagClassByTagNameTmp.clear(); if (unloadedClasses.size() > 0) { tagClassByTagNameTmp.putAll(unloadedClasses); } else { tagClassByTagNameTmp = null; } }  static List<String> getTagNames(); static Integer getIndexByTagName(final String tagName); static void register(final String... tagNamesToRegister); static Map<String, String> getTagClassNameByTagName(); static Map<String, Class<?>> getTagClassByTagName(); static void loadAllTagClasses(); static AbstractHtml getNewTagInstance(final String tagName); static AbstractHtml getNewTagInstance(final String tagName,
            final AbstractHtml parent, final AbstractAttribute... attributes); static AbstractHtml getNewTagInstanceOrNullIfFailed(
            final String tagName, final AbstractHtml parent,
            final AbstractAttribute... attributes); static AbstractHtml getNewTagInstanceOrNullIfFailed(
            final int tagNameIndex, final AbstractHtml parent,
            final AbstractAttribute... attributes);  }
@Test public void testLoadAllTagClasses() throws Exception { try { TagRegistry.test(); } catch (InvalidValueException e) { fail(e.getMessage()); } TagRegistry.loadAllTagClasses(); }