@SuppressWarnings("unchecked")
  public static Map<String, String> parseCommandLineArguments(String[] args) {
    return (Map)parseCommandLineArguments(args, false);
  }
@ SuppressWarnings ( "unchecked" ) public static Map < String , String > parseCommandLineArguments ( String [ ] args ) { return ( Map ) parseCommandLineArguments ( args , false ) ; }
A simpler form of command line argument parsing.
Dan thinks this is highly superior to the overly complexified code that
comes before it.
Parses command line arguments into a Map. Arguments of the form
-flag1 arg1 -flag2 -flag3 arg3
will be parsed so that the flag is a key in the Map (including the hyphen)
and the
optional argument will be its value (if present).

@return A Map from keys to possible values (String or null)