public virtual List<INode> MatchTerminator(TerminatorINode t)
 {
     Constants.Debug("MatchSetBase.MatchTerminator");
     DebugCounts.CallFunction("MatchSetBase.MatchTerminator");
     List<INode> results = new List<INode>();
     if (AllMatchComplete())
     {
         DebugCounts.CallFunction("MatchSetBase.MatchTerminator.Successful");
         results.Add(t);
     }
     return results;
 }
        public List<INode> MatchTerminator(TerminatorINode t)
        {
            Constants.Debug("BetaMatchCircle.MatchTerminator");
            DebugCounts.CallFunction("BetaMatchCircle.MatchTerminator");
            List<INode> results = new List<INode>();

            foreach (BetaMatchSet ms in this.innerMatcher)
            {
                results.AddRange(ms.MatchTerminator(t));
            }

            return results;
        }