### Question:
CommandLineUsage { static void convertSourceProductFieldToDom(Field sourceField, DomElement sourcesElem) { final int mod = sourceField.getModifiers(); if (Modifier.isTransient(mod) || Modifier.isFinal(mod) || Modifier.isStatic(mod)) { return; } final SourceProduct sourceProduct = sourceField.getAnnotation(SourceProduct.class); String name = sourceField.getName(); if (sourceProduct != null && !sourceProduct.alias().isEmpty()) { name = sourceProduct.alias(); } final DomElement child = sourcesElem.createChild(name); child.setValue("${" + name + "}"); }  static String getUsageText(); static String getUsageTextForGraph(String path, CommandLineContext commandLineContext); static String getUsageTextForOperator(String operatorName);  }### Answer:
@Test public void testConvertSourceProductFieldToDom() throws NoSuchFieldException { DefaultDomElement parent = new DefaultDomElement("parent"); CommandLineUsage.convertSourceProductFieldToDom(Foo.class.getDeclaredField("source1"), parent); assertEquals("<parent>\n" + " <input1>${input1}</input1>\n" + "</parent>", parent.toXml()); parent = new DefaultDomElement("parent"); CommandLineUsage.convertSourceProductFieldToDom(Foo.class.getDeclaredField("source2"), parent); assertEquals("<parent>\n" + " <source2>${source2}</source2>\n" + "</parent>", parent.toXml()); parent = new DefaultDomElement("parent"); CommandLineUsage.convertSourceProductFieldToDom(Foo.class.getDeclaredField("notMe1"), parent); assertEquals("<parent/>", parent.toXml()); parent = new DefaultDomElement("parent"); CommandLineUsage.convertSourceProductFieldToDom(Foo.class.getDeclaredField("notMe2"), parent); assertEquals("<parent/>", parent.toXml()); parent = new DefaultDomElement("parent"); CommandLineUsage.convertSourceProductFieldToDom(Foo.class.getDeclaredField("notMe3"), parent); assertEquals("<parent/>", parent.toXml()); }