private IExpression ParseCompositeExpression()
{
IExpression expression = this.ParseMatchExpression();
if (expression == null)
return null;
IList<IExpression> expressions = new List<IExpression>();
expressions.Add(expression);
while (this.TryParseToken(TokenType.Separator, ","))
expressions.Add(this.ParseMatchExpression());
if (expressions.Count == 1)
return expression;
return new CompositeExpression(expressions);
}