/// <inheritdoc />
        public void Write(byte data)
        {
            if (ByteNumberToSkip > 0)
            {
                ByteNumberToSkip--;
                return;
            }

            DecoratedWriter.Write(data);
        }
        /// <inheritdoc />
        public async Task WriteAsync(byte data)
        {
            if (ByteNumberToSkip > 0)
            {
                ByteNumberToSkip--;
                return;
            }

            await DecoratedWriter.WriteAsync(data)
            .ConfigureAwait(false);
        }
 /// <inheritdoc />
 public void Write(byte[] data, int offset, int count)
 {
     if (ByteNumberToSkip > 0)
     {
         if (count > ByteNumberToSkip)
         {
             DecoratedWriter.Write(data, ByteNumberToSkip, count - ByteNumberToSkip);
             ByteNumberToSkip = 0;
         }
         else
         {
             //Just decrement
             ByteNumberToSkip = ByteNumberToSkip - count;
         }
     }
     else
     {
         DecoratedWriter.Write(data, offset, count);
     }
 }
        /// <inheritdoc />
        public async Task WriteAsync(byte[] data, int offset, int count)
        {
            if (ByteNumberToSkip > 0)
            {
                if (count > ByteNumberToSkip)
                {
                    await DecoratedWriter.WriteAsync(data, ByteNumberToSkip, count - ByteNumberToSkip)
                    .ConfigureAwait(false);

                    ByteNumberToSkip = 0;
                }
                else
                {
                    //Just decrement
                    ByteNumberToSkip = ByteNumberToSkip - count;
                }
            }
            else
            {
                await DecoratedWriter.WriteAsync(data, offset, count)
                .ConfigureAwait(false);
            }
        }
 /// <inheritdoc />
 public byte[] GetBytes()
 {
     return(DecoratedWriter.GetBytes());
 }
 /// <inheritdoc />
 public void Dispose()
 {
     DecoratedWriter.Dispose();
 }
 /// <inheritdoc />
 public Task <byte[]> GetBytesAsync()
 {
     return(DecoratedWriter.GetBytesAsync());
 }