class ActiveFedora::Associations::HasAndBelongsToManyAssociation

def delete_records(records, method)

def delete_records(records, method)
  records.each do |r|
    owner[reflection.foreign_key] -= [r.id]
    if inverse = @reflection.inverse_of
      r[inverse.foreign_key] -= [owner.id] if inverse.has_and_belongs_to_many?
      r.association(inverse.name).reset
      r.save
    end
  end
  unless @owner.new_record? || @owner.destroyed?
    @owner.save!
  end
end