# File lib/familia/redisobject.rb, line 291
    def multi_from_redis *values
      Familia.ld "multi_from_redis: (#{@opts}) #{values}"
      return [] if values.empty?
      return values.flatten unless @opts[:class]
      ret = case @opts[:class]
      when ::String
        v.to_s
      when ::Symbol
        v.to_s.to_sym
      when ::Fixnum, ::Float
        @opts[:class].induced_from v
      else
        objs = values
        
        if @opts[:reference] == true
          objs = @opts[:class].rawmultiget *values
        end
        objs.compact!
        if @opts[:class].respond_to? load_method
          objs.collect! { |obj| 
            begin
              v = @opts[:class].send load_method, obj
              if v.nil?
                Familia.ld "[#{self.class}\#multi_from_redis] nil returned for #{@opts[:class]}\##{name}" 
              end
              v
            rescue => ex
              Familia.info v
              Familia.info "Parse error for #{rediskey} (#{load_method}): #{ex.message}"
              Familia.info ex.backtrace
              nil
            end
          }
        else
          raise Familia::Problem, "No such method: #{@opts[:class]}##{load_method}"
        end
        objs.compact # don't use compact! b/c the return value appears in ret
      end
      ret
    end