public override void AddLabel(FacetLabel label, int ordinal)
{
if (collisionMap.Count > threshold)
{
Grow();
}
int hash = CompactLabelToOrdinal.StringHashCode(label);
for (int i = 0; i < this.hashArrays.Length; i++)
{
if (AddLabel(this.hashArrays[i], label, hash, ordinal))
{
return;
}
}
int prevVal = collisionMap.AddLabel(label, hash, ordinal);
if (prevVal != ordinal)
{
throw new System.ArgumentException("Label already exists: " + label + " prev ordinal " + prevVal);
}
}