code: protected void addToMap(String argument, Map m) throws CmdLineException {
      	if (String.valueOf(argument).indexOf('=') == -1) {
      		throw new CmdLineException(owner,Messages.FORMAT_ERROR_FOR_MAP);
      	}
  
  		String mapKey;
  		String mapValue;
  
  		//Splitting off the key from the value
          int idx = argument.indexOf('=');
          if (idx>=0) {
              mapKey = argument.substring(0, idx);
              mapValue = argument.substring(idx + 1);
              if (mapValue.length()==0)
                  // Kohsuke: I think this is a bad choice, but this is needed to remain backward compatible
                  mapValue = null;
          } else {
              mapKey = argument;
              mapValue = null;
          }
  
      	if (mapKey.length()==0) {
      		throw new CmdLineException(owner,Messages.MAP_HAS_NO_KEY);
      	}
  
          addToMap(m, mapKey, mapValue);
      }
docs: Encapsulates how a single string argument gets converted into key and value.