code: @VisibleForTesting
  	static List<String> tokenizeArguments(@Nullable final String args) {
  		if (args == null) {
  			return Collections.emptyList();
  		}
  		final Matcher matcher = ARGUMENTS_TOKENIZE_PATTERN.matcher(args);
  		final List<String> tokens = new ArrayList<>();
  		while (matcher.find()) {
  			tokens.add(matcher.group()
  				.trim()
  				.replace("\"", "")
  				.replace("\'", ""));
  		}
  		return tokens;
  	}
docs: Takes program arguments as a single string, and splits them into a list of string.
  
  <pre>
  tokenizeArguments("--foo bar")            = ["--foo" "bar"]
  tokenizeArguments("--foo \"bar baz\"")    = ["--foo" "bar baz"]
  tokenizeArguments("--foo 'bar baz'")      = ["--foo" "bar baz"]
  tokenizeArguments(null)                   = []
  </pre>
  
  <strong>WARNING: </strong>This method does not respect escaped quotes.