# File lib/dm-core/collection.rb, line 395
    def []=(*args)
      orphans = Array(superclass_slice(*args[0..-2]))

      # relate new resources
      resources = resources_added(super)

      # mark resources as removed
      resources_removed(orphans - loaded_entries)

      # ensure remaining orphans are still related
      (orphans & loaded_entries).each { |resource| relate_resource(resource) }

      resources
    end