# File lib/dm-core/associations/many_to_one.rb, line 173
        def initialize(name, source_model, target_model, options = {})
          if options.key?(:nullable)
            nullable_options = options.only(:nullable)
            required_options = { :required => !options.delete(:nullable) }
            warn "#{nullable_options.inspect} is deprecated, use #{required_options.inspect} instead (#{caller[2]})"
            options.update(required_options)
          end

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