code: public static Map<String, String> parse( final List<String> flatArgs )
      {
          if ( flatArgs == null )
          {
              return Collections.EMPTY_MAP;
          }
  
          final Map<String, String> mappedArgs = new HashMap<String, String>();
  
          for ( final String flatArg : flatArgs )
          {
              final AbstractMap.SimpleEntry<String, String> keyValuePair = parseKeyValuePair( flatArg );
              mappedArgs.put( keyValuePair.getKey(), keyValuePair.getValue() );
          }
  
          return mappedArgs;
      }
docs: Parses the given {@code flatArgs} into a map of key/value pairs.
  
  @param flatArgs the flat representation of arguments, might be null
  @return a map representation of the given key/value pair list, might be empty
  @throws IllegalArgumentException when the given list contains unparseable entries