public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }

            var that = o as ShapeFieldCacheDistanceValueSource;

            if (that == null)
            {
                return(false);
            }
            if (!ctx.Equals(that.ctx))
            {
                return(false);
            }
            if (!from.Equals(that.from))
            {
                return(false);
            }
            if (!provider.Equals(that.provider))
            {
                return(false);
            }

            return(true);
        }
        public override bool Equals(object o)
        {
            if (this == o)
            {
                return(true);
            }
            if (o is null || GetType() != o.GetType())
            {
                return(false);
            }


            if (!(o is ShapeFieldCacheDistanceValueSource that))
            {
                return(false);
            }
            if (!ctx.Equals(that.ctx))
            {
                return(false);
            }
            if (!from.Equals(that.from))
            {
                return(false);
            }
            if (!provider.Equals(that.provider))
            {
                return(false);
            }
            if (multiplier != that.multiplier)
            {
                return(false);
            }

            return(true);
        }