public object?GetNthMask(int index)
            {
                LocationTargetRadius_FieldIndex enu = (LocationTargetRadius_FieldIndex)index;

                switch (enu)
                {
                case LocationTargetRadius_FieldIndex.Target:
                    return(Target);

                case LocationTargetRadius_FieldIndex.Radius:
                    return(Radius);

                default:
                    throw new ArgumentException($"Index is out of range: {index}");
                }
            }
            public void SetNthMask(int index, object obj)
            {
                LocationTargetRadius_FieldIndex enu = (LocationTargetRadius_FieldIndex)index;

                switch (enu)
                {
                case LocationTargetRadius_FieldIndex.Target:
                    this.Target = (MaskItem <Exception?, ALocationTarget.ErrorMask?>?)obj;
                    break;

                case LocationTargetRadius_FieldIndex.Radius:
                    this.Radius = (Exception?)obj;
                    break;

                default:
                    throw new ArgumentException($"Index is out of range: {index}");
                }
            }
            public void SetNthException(int index, Exception ex)
            {
                LocationTargetRadius_FieldIndex enu = (LocationTargetRadius_FieldIndex)index;

                switch (enu)
                {
                case LocationTargetRadius_FieldIndex.Target:
                    this.Target = new MaskItem <Exception?, ALocationTarget.ErrorMask?>(ex, null);
                    break;

                case LocationTargetRadius_FieldIndex.Radius:
                    this.Radius = ex;
                    break;

                default:
                    throw new ArgumentException($"Index is out of range: {index}");
                }
            }