public override void Execute(AbstractMachineState state)
{
AMPredicateSet pset = AMPredicateSet.Instance;
if (pset.IsValidPredicate(_builtinName))
{
IAbstractMachinePredicate p = (IAbstractMachinePredicate)pset.CreatePredicate(_builtinName);
// determine if p is a non-deterministic predicate
Type pType = p.GetType();
if (pType.IsInstanceOfType(new AbstractNonDeterministicPredicate()))
{
((AbstractNonDeterministicPredicate)p).IncrementCallID();
}
p.Execute(state);
}
}