private void setParameter(final String key, final String val) throws UnsupportedEncodingException
  {
    if ("xt".equals(key))     // eXactTopic
    {
      m_btih = val.substring("urn:btih:".length());
    }
    else if ("dn".equals(key))// DisplayName
    {
      m_displayName = URLDecoder.decode(val, "UTF-8");
    }
    else if ("tr".equals(key))// address TRacker
    {
      if (m_addressTracker == null)
      {
        m_addressTracker = new ArrayList<URI>();
      }
      m_addressTracker.add(URI.create(URLDecoder.decode(val, "UTF-8")));
    }
    else if ("xl".equals(key))// eXact Length
    {
      m_exactLength = Long.parseLong(val);
    }
    else if ("as".equals(key))// Acceptable Source
    {
      m_acceptableSource = URLDecoder.decode(val, "UTF-8");
    }
    else if ("xs".equals(key))// eXact Source
    {
      m_exactSource = URLDecoder.decode(val, "UTF-8");
    }
    else if ("kt".equals(key))// Keyword Topic
    {
      m_keywordTopic = val;
    }
    else if ("mt".equals(key))// ManifesT
    {
      m_manifestTopic = val;
    }
  }