class DEBUGGER__::ThreadClient

def preview name, obj

def preview name, obj
  case obj
  when Array
    pd = propertyDescriptor name, obj
    overflow = false
    if obj.size > 100
      obj = obj[0..99]
      overflow = true
    end
    hash = obj.each_with_index.to_h{|o, i| [i.to_s, o]}
    preview_ pd[:value], hash, overflow
  when Hash
    pd = propertyDescriptor name, obj
    overflow = false
    if obj.size > 100
      obj = obj.to_a[0..99].to_h
      overflow = true
    end
    preview_ pd[:value], obj, overflow
  else
    nil
  end
end