code: public Map<String, String> toMap() {
          Map<String, String> result = new LinkedHashMap<String, String>();
          for (int i = 0, size = size(); i < size; i++) {
              String name = name(i);
              String values = result.get(name);
              if (values == null) {
                  values = value(i);
              } else {
                  values += ", " + value(i);
              }
              result.put(name, values);
          }
          return result;
      }
docs: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2