protected void CopyToFast(ref MemoryPoolIterator2 output)
 {
     
         if (((_bits & 1L) != 0)) 
         { 
                 foreach (var value in _CacheControl)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 0, 17);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 2L) != 0)) 
         { 
             if (_rawConnection != null) 
             {
                 output.CopyFrom(_rawConnection, 0, _rawConnection.Length);
             } 
             else 
                 foreach (var value in _Connection)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 17, 14);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 4L) != 0)) 
         { 
             if (_rawDate != null) 
             {
                 output.CopyFrom(_rawDate, 0, _rawDate.Length);
             } 
             else 
                 foreach (var value in _Date)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 31, 8);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 8L) != 0)) 
         { 
                 foreach (var value in _KeepAlive)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 39, 14);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 16L) != 0)) 
         { 
                 foreach (var value in _Pragma)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 53, 10);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 32L) != 0)) 
         { 
                 foreach (var value in _Trailer)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 63, 11);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 64L) != 0)) 
         { 
             if (_rawTransferEncoding != null) 
             {
                 output.CopyFrom(_rawTransferEncoding, 0, _rawTransferEncoding.Length);
             } 
             else 
                 foreach (var value in _TransferEncoding)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 74, 21);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 128L) != 0)) 
         { 
                 foreach (var value in _Upgrade)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 95, 11);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 256L) != 0)) 
         { 
                 foreach (var value in _Via)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 106, 7);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 512L) != 0)) 
         { 
                 foreach (var value in _Warning)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 113, 11);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 1024L) != 0)) 
         { 
                 foreach (var value in _Allow)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 124, 9);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 2048L) != 0)) 
         { 
             if (_rawContentLength != null) 
             {
                 output.CopyFrom(_rawContentLength, 0, _rawContentLength.Length);
             } 
             else 
                 foreach (var value in _ContentLength)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 133, 18);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 4096L) != 0)) 
         { 
                 foreach (var value in _ContentType)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 151, 16);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 8192L) != 0)) 
         { 
                 foreach (var value in _ContentEncoding)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 167, 20);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 16384L) != 0)) 
         { 
                 foreach (var value in _ContentLanguage)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 187, 20);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 32768L) != 0)) 
         { 
                 foreach (var value in _ContentLocation)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 207, 20);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 65536L) != 0)) 
         { 
                 foreach (var value in _ContentMD5)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 227, 15);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 131072L) != 0)) 
         { 
                 foreach (var value in _ContentRange)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 242, 17);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 262144L) != 0)) 
         { 
                 foreach (var value in _Expires)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 259, 11);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 524288L) != 0)) 
         { 
                 foreach (var value in _LastModified)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 270, 17);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 1048576L) != 0)) 
         { 
                 foreach (var value in _AcceptRanges)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 287, 17);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 2097152L) != 0)) 
         { 
                 foreach (var value in _Age)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 304, 7);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 4194304L) != 0)) 
         { 
                 foreach (var value in _ETag)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 311, 8);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 8388608L) != 0)) 
         { 
                 foreach (var value in _Location)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 319, 12);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 16777216L) != 0)) 
         { 
                 foreach (var value in _ProxyAutheticate)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 331, 21);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 33554432L) != 0)) 
         { 
                 foreach (var value in _RetryAfter)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 352, 15);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 67108864L) != 0)) 
         { 
             if (_rawServer != null) 
             {
                 output.CopyFrom(_rawServer, 0, _rawServer.Length);
             } 
             else 
                 foreach (var value in _Server)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 367, 10);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 134217728L) != 0)) 
         { 
                 foreach (var value in _SetCookie)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 377, 14);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 268435456L) != 0)) 
         { 
                 foreach (var value in _Vary)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 391, 8);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 536870912L) != 0)) 
         { 
                 foreach (var value in _WWWAuthenticate)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 399, 20);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 1073741824L) != 0)) 
         { 
                 foreach (var value in _AccessControlAllowCredentials)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 419, 36);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 2147483648L) != 0)) 
         { 
                 foreach (var value in _AccessControlAllowHeaders)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 455, 32);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 4294967296L) != 0)) 
         { 
                 foreach (var value in _AccessControlAllowMethods)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 487, 32);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 8589934592L) != 0)) 
         { 
                 foreach (var value in _AccessControlAllowOrigin)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 519, 31);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 17179869184L) != 0)) 
         { 
                 foreach (var value in _AccessControlExposeHeaders)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 550, 33);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
         if (((_bits & 34359738368L) != 0)) 
         { 
                 foreach (var value in _AccessControlMaxAge)
                 {
                     if (value != null)
                     {
                         output.CopyFrom(_headerBytes, 583, 26);
                         output.CopyFromAscii(value);
                     }
                 }
         }
     
 }