# File lib/memcache/segmented.rb, line 8
    def get(keys, cas = nil)
      return get([keys], cas)[keys.to_s] unless keys.kind_of?(Array)
      return {} if keys.empty?

      results = super(keys, cas)
      keys = {}
      keys_to_fetch = []
      results.each do |key, value|
        next unless segmented?(value)
        keys[key] = segment_keys(value)
        keys_to_fetch.concat keys[key]
      end

      parts = super(keys_to_fetch)
      keys.each do |key, hashes|
        value = ''
        hashes.each do |hash_key|
          if part = parts[hash_key]
            value << part
          else
            value = nil
            break
          end
        end

        if value
          value.memcache_cas   = results[key].memcache_cas
          value.memcache_flags = results[key].memcache_flags ^ PARTIAL_VALUE
        end
        results[key] = value
      end
      results
    end