switch (currentToken)
{
case PrefixQuery.TOKEN_AND:
// Consume the AND token
currentToken = readToken(tokenizer);
node = new QueryModelComplexNode(visitPrefixQuery(tokenizer, currentToken, namespaceId), visitPrefixQuery(tokenizer, currentToken, namespaceId), QueryModelComplexNode.COMPLEX_OP_AND);
break;
case PrefixQuery.TOKEN_OR:
// Consume the OR token
currentToken = readToken(tokenizer);
node = new QueryModelComplexNode(visitPrefixQuery(tokenizer, currentToken, namespaceId), visitPrefixQuery(tokenizer, currentToken, namespaceId), QueryModelComplexNode.COMPLEX_OP_OR);
break;
case PrefixQuery.TOKEN_NOT:
// Consume the NOT token
currentToken = readToken(tokenizer);
node = new QueryModelComplexNode(visitPrefixQuery(tokenizer, currentToken, namespaceId), visitPrefixQuery(tokenizer, currentToken, namespaceId), QueryModelComplexNode.COMPLEX_OP_ANDNOT);
break;
case PrefixQuery.TOKEN_TERM:
// Must be a term with no attributes