# File lib/dm-core/associations/many_to_one.rb, line 202
        def initialize(name, source_model, target_model, options = {})
          if options.key?(:nullable)
            raise ":nullable is deprecated, use :required instead (#{caller[2]})"
          end

          @required      = options.fetch(:required, true)
          @key           = options.fetch(:key,      false)
          @unique        = options.fetch(:unique,   false)
          target_model ||= DataMapper::Inflector.camelize(name)
          options        = { :min => @required ? 1 : 0, :max => 1 }.update(options)
          super
        end