} else if (operator.equals(Ops.NUMCAST)) {
visitNumCast(args);
} else if (operator.equals(Ops.EXISTS) && args.get(0) instanceof SubQueryExpression) {
SubQueryExpression subQuery = (SubQueryExpression) args.get(0);
append("exists (");
serialize(subQuery.getMetadata(), false, templates.getExistsProjection());
append(")");
} else if (operator.equals(Ops.MATCHES) || operator.equals(Ops.MATCHES_IC)) {
super.visitOperation(type, Ops.LIKE, Arrays.asList(args.get(0), ExpressionUtils.regexToLike((Expression<String>) args.get(1))));