/// <summary>
        /// Initializes a new instance of the <see cref="BrushSectionParser"/> class.
        /// </summary>
        /// <param name="reader">The reader.</param>
        public BrushSectionParser(BigEndianBinaryReader reader)
        {
            sectionOffsets = GetBrushSectionOffsets(reader);
            sampledBrushes = new SampledBrushCollection();

            if (sectionOffsets != null && sectionOffsets.descriptorSectionOffset >= 0)
            {
                reader.Position = sectionOffsets.descriptorSectionOffset;
                ParseBrushDescriptorSection(reader);
            }
        }
        private const uint DescriptorSectionId = 0x64657363; // desc

        /// <summary>
        /// Initializes a new instance of the <see cref="BrushSectionParser"/> class.
        /// </summary>
        /// <param name="reader">The reader.</param>
        public BrushSectionParser(BinaryReverseReader reader)
        {
            this.sectionOffsets = GetBrushSectionOffsets(reader);
            this.sampledBrushes = new SampledBrushCollection();

            if (this.sectionOffsets != null && this.sectionOffsets.descriptorSectionOffset >= 0)
            {
                reader.BaseStream.Position = this.sectionOffsets.descriptorSectionOffset;
                ParseBrushDescriptorSection(reader);
            }
        }