@Override
      public void writeStatement(StringBuilder builder, ExpressionContext context) {
        final GrExpression monitor = statement.getMonitor();
        final GrOpenBlock body = statement.getBody();

        builder.append("synchronized(");
        if (monitor != null ) {
          writeExpression(monitor, builder, context);
        }
        builder.append(')');
        if (body != null) {
          body.accept(new CodeBlockGenerator(builder, context.extend(), myExitPoints));
        }
      }
@Override
      public void writeStatement(StringBuilder builder, ExpressionContext context)