def sync_with_transaction_state
        if transaction_state = @transaction_state
          if transaction_state.fully_committed?
            force_clear_transaction_record_state
          elsif transaction_state.committed?
            clear_transaction_record_state
          elsif transaction_state.rolledback?
            force_restore_state = transaction_state.fully_rolledback?
            restore_transaction_record_state(force_restore_state)
            clear_transaction_record_state
          end
        end
      end
def sync_with_transaction_state
        if transaction_state = @transaction_state
          if transaction_state.fully_committed?
            force_clear_transaction_record_state
          elsif transaction_state.committed?
            clear_transaction_record_state
          elsif transaction_state.rolledback?
            force_restore_state = transaction_state.fully_rolledback?
            restore_transaction_record_state(force_restore_state)
            clear_transaction_record_state
          end
        end
      end
Updates the attributes on this particular Active Record object so that
 if it's associated with a transaction, then the state of the Active Record
 object will be updated to reflect the current state of the transaction.

 The <tt>@transaction_state</tt> variable stores the states of the associated
 transaction. This relies on the fact that a transaction can only be in
 one rollback or commit (otherwise a list of states would be required).
 Each Active Record object inside of a transaction carries that transaction's
 TransactionState.

 This method checks to see if the ActiveRecord object's state reflects
 the TransactionState, and rolls back or commits the Active Record object
 as appropriate.