@Override
  public void visitAssertStatement(@NotNull final GrAssertStatement assertStatement) {
    final GrExpression assertion = assertStatement.getAssertion();
    final GrExpression message = assertStatement.getErrorMessage();
    if (assertion != null) {
      writeStatement(assertStatement, new StatementWriter() {
        @Override
        public void writeStatement(StringBuilder builder, ExpressionContext context) {
          builder.append("assert ");
          writeExpression(assertion, builder, context);
          if (message != null) {
            builder.append(" : ");
            writeExpression(message, builder, context);
          }
          builder.append(';');
        }
      });
    }
    else if (message != null) {
      writeStatement(assertStatement, new StatementWriter() {
        @Override
        public void writeStatement(StringBuilder builder, ExpressionContext context) {
          builder.append("assert : ");
          writeExpression(message, builder, context);
          builder.append(';');
        }
      });
    }
    else {
      builder.append("assert;");
    }
  }
@Override
  public void visitAssertStatement(@NotNull final GrAssertStatement assertStatement)