### Question:
WebXmlUtils { public static void addContextParam(final WebXmlParam contextParam, final Document document, final String comment) { Validate.notNull(document, "Web XML document required"); Validate.notNull(contextParam, "Context param required"); Element contextParamElement = XmlUtils.findFirstElement( WEB_APP_XPATH + "context-param[param-name = '" + contextParam.getName() + "']", document.getDocumentElement()); if (contextParamElement == null) { contextParamElement = new XmlElementBuilder("context-param", document) .addChild( new XmlElementBuilder("param-name", document).setText(contextParam.getName()) .build()).build(); insertBetween(contextParamElement, "description[last()]", "filter", document); if (StringUtils.isNotBlank(comment)) { addCommentBefore(contextParamElement, comment, document); } } appendChildIfNotPresent(contextParamElement, new XmlElementBuilder("param-value", document) .setText(contextParam.getValue()).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 testAddContextParam() { WebXmlUtils.addContextParam(new WebXmlUtils.WebXmlParam("key", "value"), webXml, null); final Element contextParamElement = XmlUtils.findFirstElement("context-param", webXml.getDocumentElement()); assertNotNull(contextParamElement); assertEquals(2, contextParamElement.getChildNodes().getLength()); assertEquals("key", XmlUtils.findFirstElement("param-name", contextParamElement) .getTextContent()); assertEquals("value", XmlUtils.findFirstElement("param-value", contextParamElement) .getTextContent()); }