### Question:
WebXmlUtils { public static void addExceptionType(final String exceptionType, final String location, final Document document, final String comment) { Validate.notNull(document, "Web XML document required"); Validate.notBlank(exceptionType, "Fully qualified exception type name required"); Validate.notBlank(location, "location required"); Element errorPageElement = XmlUtils.findFirstElement(WEB_APP_XPATH + "error-page[exception-type = '" + exceptionType + "']", document.getDocumentElement()); if (errorPageElement == null) { errorPageElement = new XmlElementBuilder("error-page", document).addChild( new XmlElementBuilder("exception-type", document).setText(exceptionType).build()) .build(); insertBetween(errorPageElement, "welcome-file-list[last()]", "the-end", document); if (StringUtils.isNotBlank(comment)) { addCommentBefore(errorPageElement, comment, document); } } appendChildIfNotPresent(errorPageElement, new XmlElementBuilder("location", document).setText(location).build()); } private  WebXmlUtils(); static void addContextParam(final WebXmlParam contextParam, final Document document,
      final String comment); static void addErrorCode(final Integer errorCode, final String location,
      final Document document, final String comment); static void addExceptionType(final String exceptionType, final String location,
      final Document document, final String comment); static void addFilter(final String filterName, final String filterClass,
      final String urlPattern, final Document document, final String comment,
      final WebXmlParam... initParams); static void addFilterAtPosition(final FilterPosition filterPosition,
      final String afterFilterName, final String beforeFilterName, final String filterName,
      final String filterClass, final String urlPattern, final Document document,
      final String comment, List<WebXmlParam> initParams, final List<Dispatcher> dispatchers); static void addFilterAtPosition(final FilterPosition filterPosition,
      final String afterFilterName, final String beforeFilterName, final String filterName,
      final String filterClass, final String urlPattern, final Document document,
      final String comment, final WebXmlParam... initParams); static void addListener(final String className, final Document document,
      final String comment); static void addSecurityConstraint(final String displayName,
      final List<WebResourceCollection> webResourceCollections, final List<String> roleNames,
      final String transportGuarantee, final Document document, final String comment); static void addServlet(final String servletName, final String className,
      final String urlPattern, final Integer loadOnStartup, final Document document,
      final String comment, final WebXmlParam... initParams); static void addWelcomeFile(final String path, final Document document, final String comment); static void setDescription(final String description, final Document document,
      final String comment); static void setDisplayName(final String displayName, final Document document,
      final String comment); static void setSessionTimeout(final int timeout, final Document document,
      final String comment);  }### Answer:
@Test public void testAddExceptionType() { WebXmlUtils.addExceptionType(IllegalStateException.class.getName(), "/illegal", webXml, null); final Element errorPageElement = XmlUtils.findFirstElement("error-page", webXml.getDocumentElement()); assertNotNull(errorPageElement); assertEquals(2, errorPageElement.getChildNodes().getLength()); assertEquals(IllegalStateException.class.getName(), XmlUtils.findFirstElement("exception-type", errorPageElement).getTextContent()); assertEquals("/illegal", XmlUtils.findFirstElement("location", errorPageElement) .getTextContent()); }