clearInvalidCache() {
    let saved = this.storage.getItem(this.getStorageKey());
    if (saved && saved.columnVisibility) {
      let savedIds = keys(saved.columnVisibility).sort();
      let schemaIds = this.columnSchema.map((col) => col.id).sort();
      if (!compareArrays(savedIds, schemaIds)) {
        // Clear saved items
        this.storage.removeItem(this.getStorageKey());
      }
    }
  }
This makes sure that if a cache already exists, it matches
the current column schema. If it does not, clear the existing
cache.

The reason this scenario may occur is for volatile schemas
(such as records in the Data Tab since they depend on the user's models),
or when a list's schema is modified in a later upgrade.

@method clearInvalidCache