public CompositionFstImpl(IGenericFst l1, IGenericFst l2,
int o_s, int o_f)
{
override_start = o_s;
override_finish = o_f;
if (l1.nStates() == 0)
throw new Exception("CHECK_ARG: l1->nStates() > 0");
if (l2.nStates() == 0)
throw new Exception("CHECK_ARG: l2->nStates() > 0");
// this should be here, not in the initializers.
// (otherwise if CHECKs throw an exception, bad things happen)
this.l1 = l1;
this.l2 = l2;
}