# File lib/state_machine/transition_collection.rb, line 22
    def initialize(transitions = [], options = {})
      super(transitions)
      
      # Determine the validity of the transitions as a whole
      @valid = all?
      reject! {|transition| !transition}
      
      attributes = map {|transition| transition.attribute}.uniq
      raise ArgumentError, 'Cannot perform multiple transitions in parallel for the same state machine attribute' if attributes.length != length
      
      assert_valid_keys(options, :actions, :after, :transaction)
      options = {:actions => true, :after => true, :transaction => true}.merge(options)
      @skip_actions = !options[:actions]
      @skip_after = !options[:after]
      @use_transaction = options[:transaction]
    end