OptionProcessor { @Override public String toString() { StringBuilder sb = new StringBuilder("["); boolean first = true; for (Option<E> option : longOptions.values()) { if (!first) sb.append(","); else first = false; sb.append(option); } return sb.append("]").toString(); }  static OptionProcessor<T> create(); OptionBuilder newOption(E longOption); List<String> process(List<String> args); boolean has(E longOption); void set(E longOption); void unset(E longOption); void set(E longOption, String argument); String get(E longOption); int getInteger(E longOption); double getDouble(E longOption); float getFloat(E longOption); @Override String toString();  }
@Test public void testToString() throws SoarException { op.newOption(alpha).newOption(bravo).requiredArg().newOption(charlie) .optionalArg().done(); System.out.println(op); }