The clustersActive list is just a boolean array for all possible cluster IDs.
Clusters corresponding to the leaf faces are not stored, to save on memory. Sometimes clusters past a certain point in the hierarchy are also discarded: see the CropClusters() routine.
The clusters themselves are stored in reverse order in the clusters array. The ID of the first cluster in the array is stored in firstClusterID, and that of the last cluster in lastClusterID. You should use the Cluster() method to retrieve the cluster corresponding to a certain ID.