class DEBUGGER__::ThreadClient

def variable name, obj

def variable name, obj
  pd = propertyDescriptor name, obj
  case obj
  when Array
    pd[:value][:preview] = preview name, obj
    obj.each_with_index{|item, idx|
      if valuePreview = preview(idx.to_s, item)
        pd[:value][:preview][:properties][idx][:valuePreview] = valuePreview
      end
    }
  when Hash
    pd[:value][:preview] = preview name, obj
    obj.each_with_index{|item, idx|
      key, val = item
      if valuePreview = preview(key, val)
        pd[:value][:preview][:properties][idx][:valuePreview] = valuePreview
      end
    }
  end
  pd
end