code: private void addInternal(String key, String value) {
  
          Object currentObj = m_configurationObjects.get(key);
          String currentStr = get(key);
  
          if (currentObj instanceof String) {
              // one object already in map - convert it to a list
              ArrayList<String> values = new ArrayList<String>(2);
              values.add(currentStr);
              values.add(value);
              m_configurationObjects.put(key, values);
              m_configurationStrings.put(key, currentStr + ParameterTokenizer.COMMA + value);
          } else if (currentObj instanceof List) {
              // already a list - just add the new token
              @SuppressWarnings("unchecked")
              List<String> list = (List<String>)currentObj;
              list.add(value);
              m_configurationStrings.put(key, currentStr + ParameterTokenizer.COMMA + value);
          } else {
              m_configurationObjects.put(key, value);
              m_configurationStrings.put(key, value);
          }
      }
docs: Adds a parameter, parsing the value if required.<p>
  
  @param key the parameter to add
  @param value the value of the parameter