# File lib/dm-core/collection.rb, line 535
    def initialize(query, &block)
      assert_kind_of 'query', query, Query

      unless block_given?
        # It can be helpful (relationship.rb: 112-13, used for SEL) to have a non-lazy Collection.
        block = lambda { |c| }
      end

      @query          = query
      @key_properties = model.key(repository.name)
      @cache          = {}

      super()

      load_with(&block)
    end