private int CaptureMessage(IList <Token> tokens, int index, IntermediateRepresentation ir)
        {
            IList <Token> messageTokens = new List <Token>();

            Token token = tokens[index];

            messageTokens.Add(token);
            do
            {
                token = tokens[++index];
                messageTokens.Add(token);
            } while (Signal.EndMessage != token.Signal);

            ir.AddMessage(tokens[index].SchemaId, messageTokens);

            return(index);
        }
        private int CaptureMessage(IList<Token> tokens, int index, IntermediateRepresentation ir)
        {
            IList<Token> messageTokens = new List<Token>();

            Token token = tokens[index];
            messageTokens.Add(token);
            do
            {
                token = tokens[++index];
                messageTokens.Add(token);
            } while (Signal.EndMessage != token.Signal);

            ir.AddMessage(tokens[index].SchemaId, messageTokens);

            return index;
        }