public static void Write(IBinaryWriter o, Kernel.Engine.Color[] d)
        {
            o.Write(d != null);
            if (d == null)
            {
                return;
            }

            int size = d.Length;

            o.Write(size);
            for (int i = 0; i < size; ++i)
            {
                ColorSerializer.Write(o, d[i]);
            }
        }
        public static Kernel.Engine.Color[] Read(IBinaryReader o, Kernel.Engine.Color[] d)
        {
            if (o.ReadBoolean() == false)
            {
                return(null);
            }

            int size = o.ReadInt32();

            if (d == null || d.Length != size)
            {
                d = new Kernel.Engine.Color[size];
            }
            for (int i = 0; i < size; ++i)
            {
                d[i] = ColorSerializer.Read(o, d[i]);
            }
            return(d);
        }