void write(Headers map, OutputStream os) throws IOException { Set<Map.Entry<String, List<String>>> entries = map.entrySet(); for (Map.Entry<String, List<String>> entry : entries) { String key = entry.getKey(); byte[] buf; List<String> values = entry.getValue(); for (String val : values) { int i = key.length(); buf = bytes(key, 2); buf[i++] = ':'; buf[i++] = ' '; os.write(buf, 0, i); buf = bytes(val, 2); i = val.length(); buf[i++] = '\r'; buf[i++] = '\n'; os.write(buf, 0, i); } } os.write('\r'); os.write('\n'); }