docs: private void setUpConditionStyles(JRDesignStyle jrstyle, AbstractColumn column) {
  
          if (getReport().getOptions().isPrintBackgroundOnOddRows() && Utils.isEmpty(column.getConditionalStyles())) {
              JRDesignExpression expression = new JRDesignExpression();
              expression.setValueClass(Boolean.class);
              expression.setText(EXPRESSION_TRUE_WHEN_ODD);
  
              Style oddRowBackgroundStyle = getReport().getOptions().getOddRowBackgroundStyle();
  
              JRDesignConditionalStyle condStyle = new JRDesignConditionalStyle();
              condStyle.setBackcolor(oddRowBackgroundStyle.getBackgroundColor());
              condStyle.setMode(ModeEnum.OPAQUE);
  
              condStyle.setConditionExpression(expression);
              jrstyle.addConditionalStyle(condStyle);
  
              return;
          }
  
          if (Utils.isEmpty(column.getConditionalStyles()))
              return;
  
          for (ConditionalStyle condition : column.getConditionalStyles()) {
              if (getReport().getOptions().isPrintBackgroundOnOddRows()
                      && Transparency.TRANSPARENT == condition.getStyle().getTransparency()) { //condition style + odd row (only if conditional style's background is transparent)
  
                  JRDesignExpression expressionForConditionalStyle = ExpressionUtils.getExpressionForConditionalStyle(condition, column.getTextForExpression());
                  String expStr = JRExpressionUtil.getExpressionText(expressionForConditionalStyle);
  
                  //ODD
                  JRDesignExpression expressionOdd = new JRDesignExpression();
                  expressionOdd.setValueClass(Boolean.class);
                  expressionOdd.setText("new java.lang.Boolean(" + EXPRESSION_TRUE_WHEN_ODD + ".booleanValue() && ((java.lang.Boolean)" + expStr + ").booleanValue() )");
  
                  Style oddRowBackgroundStyle = getReport().getOptions().getOddRowBackgroundStyle();
  
                  JRDesignConditionalStyle condStyleOdd = makeConditionalStyle(condition.getStyle());
  //				Utils.copyProperties(condStyleOdd, condition.getStyle().transform());
                  condStyleOdd.setBackcolor(oddRowBackgroundStyle.getBackgroundColor());
                  condStyleOdd.setMode(ModeEnum.OPAQUE);
                  condStyleOdd.setConditionExpression(expressionOdd);
                  jrstyle.addConditionalStyle(condStyleOdd);
  
                  //EVEN
                  JRDesignExpression expressionEven = new JRDesignExpression();
                  expressionEven.setValueClass(Boolean.class);
                  expressionEven.setText("new java.lang.Boolean(" + EXPRESSION_TRUE_WHEN_EVEN + ".booleanValue() && ((java.lang.Boolean)" + expStr + ").booleanValue() )");
  
                  JRDesignConditionalStyle condStyleEven = makeConditionalStyle(condition.getStyle());
                  condStyleEven.setConditionExpression(expressionEven);
                  jrstyle.addConditionalStyle(condStyleEven);
  
              } else { //No odd row, just the conditional style
                  JRDesignExpression expression = ExpressionUtils.getExpressionForConditionalStyle(condition, column.getTextForExpression());
                  JRDesignConditionalStyle condStyle = makeConditionalStyle(condition.getStyle());
                  condStyle.setConditionExpression(expression);
                  jrstyle.addConditionalStyle(condStyle);
              }
          }
  
          //The last condition is the basic one
          //ODD
          if (getReport().getOptions().isPrintBackgroundOnOddRows()) {
  
              JRDesignExpression expressionOdd = new JRDesignExpression();
              expressionOdd.setValueClass(Boolean.class);
              expressionOdd.setText(EXPRESSION_TRUE_WHEN_ODD);
  
              Style oddRowBackgroundStyle = getReport().getOptions().getOddRowBackgroundStyle();
  
              JRDesignConditionalStyle condStyleOdd = new JRDesignConditionalStyle();
              condStyleOdd.setBackcolor(oddRowBackgroundStyle.getBackgroundColor());
              condStyleOdd.setMode(ModeEnum.OPAQUE);
              condStyleOdd.setConditionExpression(expressionOdd);
  
              jrstyle.addConditionalStyle(condStyleOdd);
  
              //EVEN
              JRDesignExpression expressionEven = new JRDesignExpression();
              expressionEven.setValueClass(Boolean.class);
              expressionEven.setText(EXPRESSION_TRUE_WHEN_EVEN);
  
              JRDesignConditionalStyle condStyleEven = new JRDesignConditionalStyle();
              condStyleEven.setBackcolor(jrstyle.getBackcolor());
              condStyleEven.setMode(jrstyle.getModeValue());
              condStyleEven.setConditionExpression(expressionEven);
  
              jrstyle.addConditionalStyle(condStyleEven);
          }
      }