# File lib/active_record/associations.rb, line 1410
      def has_and_belongs_to_many(association_id, options = {}, &extension)
        reflection = create_has_and_belongs_to_many_reflection(association_id, options, &extension)
        collection_accessor_methods(reflection, HasAndBelongsToManyAssociation)

        configure_destroy_hook_for_has_and_belongs_to_many(reflection)

        add_association_callbacks(reflection.name, options)
      end