code: public void reload()
      {
          // figure out what needs to be added and dropped.
          // future: if/when we have modifiable settings for secondary indexes,
          // they'll need to be handled here.
          Collection<ByteBuffer> indexedColumnNames = indexesByColumn.keySet();
          for (ByteBuffer indexedColumn : indexedColumnNames)
          {
              ColumnDefinition def = baseCfs.metadata.getColumnDefinition(indexedColumn);
              if (def == null || def.getIndexType() == null)
                  removeIndexedColumn(indexedColumn);
          }
  
          // TODO: allow all ColumnDefinition type
          for (ColumnDefinition cdef : baseCfs.metadata.allColumns())
              if (cdef.getIndexType() != null && !indexedColumnNames.contains(cdef.name.bytes))
                  addIndexedColumn(cdef);
  
          for (SecondaryIndex index : allIndexes)
              index.reload();
      }
docs: Drops and adds new indexes associated with the underlying CF