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

                switch (enu)
                {
                case RelatedWaters_FieldIndex.RelatedWaterDaytime:
                    return(RelatedWaterDaytime);

                case RelatedWaters_FieldIndex.RelatedWaterNighttime:
                    return(RelatedWaterNighttime);

                case RelatedWaters_FieldIndex.RelatedWaterUnderwater:
                    return(RelatedWaterUnderwater);

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

                switch (enu)
                {
                case RelatedWaters_FieldIndex.RelatedWaterDaytime:
                    this.RelatedWaterDaytime = (Exception?)obj;
                    break;

                case RelatedWaters_FieldIndex.RelatedWaterNighttime:
                    this.RelatedWaterNighttime = (Exception?)obj;
                    break;

                case RelatedWaters_FieldIndex.RelatedWaterUnderwater:
                    this.RelatedWaterUnderwater = (Exception?)obj;
                    break;

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