protected virtual void ValidateEditableFields(HashSet <Field> editable)
        {
            foreach (Field field in Row.GetFields())
            {
                if (IsUpdate && !Row.IsAssigned(field))
                {
                    field.CopyNoAssignment(Old, Row);
                    Row.ClearAssignment(field);
                    continue;
                }

                if (field is StringField stringField && Row.IsAssigned(field))
                {
                    DataValidation.AutoTrim(Row, stringField);
                }

                if (!editable.Contains(field))
                {
                    HandleNonEditable(field);
                }
            }
        }