code: protected void findUnusedBlocks() 
      {
          // fill the entire map with "not used" 
          Arrays.fill(m_map_, 0xff);
      
          // mark each block that _is_ used with 0
          for (int i = 0; i < m_indexLength_; ++ i) {
              m_map_[Math.abs(m_index_[i]) >> SHIFT_] = 0;
          }
      
          // never move the all-initial-value block 0
          m_map_[0] = 0;
      }
docs: Set a value in the trie index map to indicate which data block
  is referenced and which one is not.
  utrie_compact() will remove data blocks that are not used at all.
  Set
  - 0 if it is used
  - -1 if it is not used