if (m_type == null || m_type.equals(OptimisticLockingType.VERSION_COLUMN.name())) {
// A version annotation or element should be define and discovered
// in later processing.
descriptor.setUsesCascadedOptimisticLocking(m_cascade != null && m_cascade.booleanValue());
} else if (m_type.equals(OptimisticLockingType.ALL_COLUMNS.name())) {
descriptor.setOptimisticLockingPolicy(new AllFieldsLockingPolicy());
} else if (m_type.equals(OptimisticLockingType.CHANGED_COLUMNS.name())) {
descriptor.setOptimisticLockingPolicy(new ChangedFieldsLockingPolicy());
} else if (m_type.equals(OptimisticLockingType.SELECTED_COLUMNS.name())) {
if (m_selectedColumns.isEmpty()) {
throw ValidationException.optimisticLockingSelectedColumnNamesNotSpecified(descriptor.getJavaClass());