}         // end ReadImageData

        public override bool WriteImage(BinaryWriter infoStream, BinaryWriter imageStream)
        {
            // write the unique image number
            infoStream.Write((UInt32)_imageNumber);
            // if composite, write 0x100
            if (_subImageList.Count > 0)
            {
                infoStream.Write(0x100u);
            }

            WriteImageData(imageStream);
            WriteImageInfo(infoStream);

            if (_subImageList.Count > 0)
            {
                // if there are sub images, then write their data too
                foreach (AoWBitmap elem in _subImageList)
                {
                    AoW1Bitmap elem1 = (AoW1Bitmap)elem;
                    elem1.WriteImageData(imageStream);
                    elem1.WriteImageInfo(infoStream);
                }

                // write end of composite sequence
                infoStream.Write(0x0u);
            }
            // Write end , always -1
            infoStream.Write(0xFFFFFFFFu);

            return(true);
        }         // end WriteToStreams