code: public static Map<String, Parameter> toParameterMap(List<Parameter> params)
      {
          Map<String, Parameter> map = new HashMap<String, Parameter>(params.size());
          for(Parameter param : params)
          {
              if(map.put(param.getASCIIName(), param) != null)
                  throw new RuntimeException("Name collision, two parameters use the name '" + param.getASCIIName() + "'");
              if(!param.getName().equals(param.getASCIIName()))//Dont put it in again
                  if(map.put(param.getName(), param) != null)
                      throw new RuntimeException("Name collision, two parameters use the name '" + param.getName() + "'");
          }
          return map;
      }
docs: Creates a map of all possible parameter names to their corresponding object. No two parameters may have the same name.
  @param params the list of parameters to create a map for
  @return a map of string names to their parameters
  @throws RuntimeException if two parameters have the same name