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)

      resources
    end
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)

      resources
    end
Splice a list of Resources at a given offset or range

 When nil is provided instead of a Resource or a list of Resources
 this will remove all of the Resources at the specified position.

 @param [Integer, Array(Integer), Range] *args
   The offset, offset and limit, or range indicating first and last position.
   The last argument may be a Resource, a list of Resources or nil.

 @return [Resource, Enumerable]
   the Resource or list of Resources that was spliced into the Collection
 @return [nil]
   If nil was used to delete the entries

 @api public