code: public static String[] parse(String[] args) throws IOException {
          List<String> newArgs = new ArrayList<>();
          appendParsedCommandArgs(newArgs, Arrays.asList(args));
          return newArgs.toArray(new String[newArgs.size()]);
      }
docs: Process Win32-style command files for the specified command line
  arguments and return the resulting arguments. A command file argument
  is of the form '@file' where 'file' is the name of the file whose
  contents are to be parsed for additional arguments. The contents of
  the command file are parsed using StreamTokenizer and the original
  '@file' argument replaced with the resulting tokens. Recursive command
  files are not supported. The '@' character itself can be quoted with
  the sequence '@@'.
  @param args the arguments that may contain @files
  @return the arguments, with @files expanded
  @throws IOException if there is a problem reading any of the @files