code: public void addRequestProperty(String key, String value) {
          if (connected)
              throw new IllegalStateException("Already connected");
          if (key == null)
              throw new NullPointerException ("key is null");
  
          if (requests == null)
              requests = new MessageHeader();
  
          requests.add(key, value);
      }
docs: Adds a general request property specified by a
  key-value pair.  This method will not overwrite
  existing values associated with the same key.
  
  @param   key     the keyword by which the request is known
  (e.g., "<code>Accept</code>").
  @param   value  the value associated with it.
  @throws IllegalStateException if already connected
  @throws NullPointerException if key is null
  @see #getRequestProperties()
  @since 1.4