internal void AddChild(int i, Production production) {
if (i >= _families.Count) {
throw new Exception();
}
if (_families[i].Production != null) {
if (production != _families[i].Production) {
throw new Exception();
}
}
_families[i].Production = production;
}