public override void Extract()
            {
                int sizeOfFixedSizeProperty = PropertyTag.GetSizeOfFixedSizeProperty(base.PropertyTag.Type);

                if (sizeOfFixedSizeProperty > 0)
                {
                    byte[] array = base.StreamExtractor.ReadBytes(sizeOfFixedSizeProperty);
                    if (base.PropertyTag.Type == PropertyTag.PropertyType.Boolean)
                    {
                        array = new byte[]
                        {
                            array[0]
                        };
                    }
                    if (base.PropertyValueProcessor != null)
                    {
                        array = (byte[])base.PropertyValueProcessor(array);
                    }
                    if (array != null)
                    {
                        IProperty       property       = base.PropertyBag.AddProperty(base.PropertyTag.Value);
                        IPropertyWriter propertyWriter = property.OpenStreamWriter();
                        propertyWriter.Write(array);
                        propertyWriter.Close();
                    }
                }
            }
            public override void Extract()
            {
                byte[] value                = base.StreamExtractor.ReadBytes(4);
                int    num                  = BitConverter.ToInt32(value, 0);
                List <List <byte> > list    = new List <List <byte> >(num);
                int sizeOfFixedSizeProperty = PropertyTag.GetSizeOfFixedSizeProperty(base.PropertyTag.Type);

                for (int i = 0; i < num; i++)
                {
                    byte[]      collection = base.StreamExtractor.ReadBytes(sizeOfFixedSizeProperty);
                    List <byte> item       = new List <byte>(collection);
                    list.Add(item);
                }
                if (base.PropertyValueProcessor != null)
                {
                    list = (List <List <byte> >)base.PropertyValueProcessor(list);
                }
                if (list != null)
                {
                    IProperty property = base.PropertyBag.AddProperty(base.PropertyTag.NormalizedValueForPst);
                    property.WriteMultiValueData(list);
                }
            }