public static void CopyHeaderBetweenList(HeaderList sourceHeaderList, HeaderList targetHeaderList, string headerName, bool onlyWriteFirstHeader) { Header header = sourceHeaderList.FindFirst(headerName); while (header != null) { if (onlyWriteFirstHeader) { Header header2 = targetHeaderList.FindFirst(headerName); if (header2 != null) { header2.Value = header.Value; return; } targetHeaderList.AppendChild(header.Clone()); return; } else { targetHeaderList.AppendChild(header.Clone()); header = sourceHeaderList.FindNext(header); } } }