// Field has changed
DBColumn column = rowset.getColumn(index);
// Check whether we can change this field
if (!allowFieldChange(column))
{ // Read Only column may be set
throw new FieldIsReadOnlyException(column);
}
// Is Value valid
if (validateFieldValues)
value = validateValue(column, value);
// Init original values