protected AbstractTableColumnDescriptor @NotNull [] getColumnDescriptors() {
    return new AbstractTableColumnDescriptor[]{
      new AbstractTableColumnDescriptor(XDebuggerBundle.message("memory.view.table.column.name.class"), TypeInfo.class) {
        @Override
        public Object getValue(int ix) {
          return getTypeInfoAt(ix);
        }
      },
      new AbstractTableColumnDescriptor(XDebuggerBundle.message("memory.view.table.column.name.count"), Long.class) {
        @Override
        public Object getValue(int ix) {
          return myCounts.getOrDefault(getTypeInfoAt(ix), UNKNOWN_VALUE).myCurrentCount;
        }
      },
      new AbstractTableColumnDescriptor(XDebuggerBundle.message("memory.view.table.column.name.diff"), DiffValue.class) {
        @Override
        public Object getValue(int ix) {
          return myCounts.getOrDefault(getTypeInfoAt(ix), UNKNOWN_VALUE);
        }
      }
    };
  }
protected AbstractTableColumnDescriptor @NotNull [] getColumnDescriptors()