    # File lib/active_record/reflection.rb, line 13
          def create_reflection(macro, name, options, active_record)
            case macro
              when :has_many, :belongs_to, :has_one, :has_and_belongs_to_many
                klass = options[:through] ? ThroughReflection : AssociationReflection
                reflection = klass.new(macro, name, options, active_record)
              when :composed_of
                reflection = AggregateReflection.new(macro, name, options, active_record)
            end
            write_inheritable_hash :reflections, name => reflection
            reflection
          end