anchor.diff:        drawBetweenBarsArea(canvas, size, data, betweenBarsData);
       }
   
  +    super.drawBackground(canvas, size);
  +    drawRangeAnnotation(canvas, size);
  +    super.drawGrid(canvas, size);
  +
  +    if (data.extraLinesData != null && !data.extraLinesData.extraLinesOnTop) {
  +      drawExtraLines(canvas, size);
  +    }
  +
       /// draw each line independently on the chart
       for (int i = 0; i < data.lineBarsData.length; i++) {
         final barData = data.lineBarsData[i];
  
positive.code:         continue;
        }
  
        drawRangeAnnotation(canvas, size);
  
        if (data.extraLinesData != null && !data.extraLinesData.extraLinesOnTop) {
          drawExtraLines(canvas, size);
        }
  
        drawBarLine(canvas, size, barData);
        drawDots(canvas, size, barData);
  
        if (data.extraLinesData != null && data.extraLinesData.extraLinesOnTop) {
          drawExtraLines(canvas, size);
        }
  
        drawTouchedSpotsIndicator(canvas, size, barData);
      }
  
      if (data.clipToBorder) {
  
negative.code: 
    @override
    void paint(Canvas canvas, Size size) {
      if (data.lineBarsData.isEmpty) {
        return;
      }
  