_stringBuilder.append( '"' );
}
}
else if (_expr instanceof ExpressionNodeForOperator) {
final Operator operator = ((ExpressionNodeForOperator) _expr).getOperator();
final List<ExpressionNode> arguments = _expr.arguments();
final int argCount = arguments.size();
final boolean parenthesesNeeded = _context != null &&
!(operator.equals( _context ) && COMMUTATIVE_OPERATORS.contains( operator ));
switch (argCount) {
case 0:
_stringBuilder.append( operator.getSymbol() );
break;
case 1:
if (parenthesesNeeded) _stringBuilder.append( '(' );
final boolean isPrefix = operator.isPrefix();
if (isPrefix) _stringBuilder.append( operator.getSymbol() );
append( _stringBuilder, arguments.get( 0 ), _baseCell, operator );
if (!isPrefix) _stringBuilder.append( operator.getSymbol() );
if (parenthesesNeeded) _stringBuilder.append( ')' );
break;
default:
if (parenthesesNeeded) _stringBuilder.append( '(' );
appendArguments( _stringBuilder, arguments, operator.getSymbol(), _baseCell, operator );
if (parenthesesNeeded) _stringBuilder.append( ')' );
break;
}
}
else if (_expr instanceof ExpressionNodeForFunction) {