private void CreateAndAppendExpression(Expression parent, Token token)
{
if (IsWaste(token)) return;
if (parent != null && token.TokenType == TokenType.Comma)
{
parent.PrepareForNextChild();
return;
}
if (_negateNextExpression)
{
token.Negate();
_negateNextExpression = false;
}
var expression = _expressionFactory.Create(token);
if (parent == null)
{
_graph.Add(expression);
}
else
{
parent.AddChild(expression);
}
}