# File lib/dm-core/associations/many_to_many.rb, line 352
        def intermediaries
          return @intermediaries if @intermediaries

          intermediaries = if through.loaded?(source)
            through.get!(source)
          else
            through.set!(source, through.collection_for(source))
          end

          scoped = intermediaries.all(via => self)

          @intermediaries = scoped.query == intermediaries.query ? intermediaries : scoped
        end