    # 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