### Question:
ArgumentsParser { private char escapeInDoubleQuotes() { final char read = read(); switch (read) { case '\"': case '$': case '\\': case '`': return use(read, this::inDoubleQuotes); default: } return next(flush() .state(this::backslash) .state(() -> read) .state(this::inDoubleQuotes) .states()); } ArgumentsParser(final String input);  ArgumentsParser(final InputStream input); static Arguments[] parse(final String line); Arguments[] parseArgs(); void endCommand(); Seq flush();  }### Answer:
@Test public void escapeInDoubleQuotes() { assertArguments("\"one\\two\" three", "one\\two", "three"); assertArguments("\"one\\$two\" three", "one$two", "three"); assertArguments("\"one\\\"two\" three", "one\"two", "three"); assertArguments("\"one\\`two\" three", "one`two", "three"); }