# File lib/facets/core/kernel/assign_from.rb, line 27
  def assign_from(obj, *fields)
    force = false
    case fields.last when true, false, nil
      force = fields.pop
    end

    unless fields.empty?
      fields.each do |k|
        var = k.to_s
        var = var.slice(0,1) == '@' ? var : "@#{var}"
        if obj.instance_variables.include?(var)
          self.instance_variable_set( var, obj.instance_variable_get(var) )
        end
      end
    else
      if force
        fields = obj.instance_variables
      else
        fields = instance_variables | obj.instance_variables
      end
      fields.each do |var|
        instance_variable_set( var, obj.instance_variable_get(var) )
      end
    end

    return self
  end