### Question:
ArgumentCollectionBuilder implements ParsedArguments { @Override public OptionCollection processArguments(final ArgumentValidator argumentProcessor) { final Set<Entry<String, List<String>>> entrySet = arguments.entrySet(); final Iterator<Entry<String, List<String>>> iterator = entrySet.iterator(); while (iterator.hasNext()) { final Map.Entry<java.lang.String, java.util.List<java.lang.String>> entry = iterator.next(); if(iterator.hasNext()) { argumentProcessor.processOption(entry.getKey(), entry.getValue()); } else { argumentProcessor.processLastOption(entry.getKey(), entry.getValue()); } } argumentProcessor.processUnparsed(unparsed); return argumentProcessor.finishedProcessing(); }  @Override void unparsedOptionsFollow(); @Override void addValue(final String value); @Override void addOption(final String option); @Override OptionCollection processArguments(final ArgumentValidator argumentProcessor);  }### Answer:
@Test public void testParseArguments() throws ArgumentValidationException { context.checking(new Expectations() {{ oneOf(argumentProcessor).processUnparsed(emptyStringList()); oneOf(argumentProcessor).finishedProcessing(); }}); argumentCollectionBuilder.processArguments(argumentProcessor); }