public void SetNthMask(int index, object obj)
            {
                PexObjectVariableData_FieldIndex enu = (PexObjectVariableData_FieldIndex)index;

                switch (enu)
                {
                case PexObjectVariableData_FieldIndex.VariableType:
                    this.VariableType = (Exception?)obj;
                    break;

                case PexObjectVariableData_FieldIndex.StringValue:
                    this.StringValue = (Exception?)obj;
                    break;

                case PexObjectVariableData_FieldIndex.IntValue:
                    this.IntValue = (Exception?)obj;
                    break;

                case PexObjectVariableData_FieldIndex.FloatValue:
                    this.FloatValue = (Exception?)obj;
                    break;

                case PexObjectVariableData_FieldIndex.BoolValue:
                    this.BoolValue = (Exception?)obj;
                    break;

                default:
                    throw new ArgumentException($"Index is out of range: {index}");
                }
            }
            public object?GetNthMask(int index)
            {
                PexObjectVariableData_FieldIndex enu = (PexObjectVariableData_FieldIndex)index;

                switch (enu)
                {
                case PexObjectVariableData_FieldIndex.VariableType:
                    return(VariableType);

                case PexObjectVariableData_FieldIndex.StringValue:
                    return(StringValue);

                case PexObjectVariableData_FieldIndex.IntValue:
                    return(IntValue);

                case PexObjectVariableData_FieldIndex.FloatValue:
                    return(FloatValue);

                case PexObjectVariableData_FieldIndex.BoolValue:
                    return(BoolValue);

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