anchor.diff:    /// find the nearest spot base on the touched offset
     BarTouchedSpot _getNearestTouchedSpot(
         Size viewSize, Offset touchedPoint, List<_GroupBarsPosition> groupBarsPosition) {
  -//    if (groupBarsPosition == null) {
  -//      return null;
  -//    }
       final Size chartViewSize = getChartUsableDrawSize(viewSize);
   
       /// Find the nearest barRod
  
positive.code: /// Paints [BarChartData] in the canvas, it can be used in a [CustomPainter]
  class BarChartPainter extends AxisChartPainter<BarChartData> with TouchHandler<BarTouchResponse> {
    Paint _barPaint, _bgTouchTooltipPaint;
  
    List<_GroupBarsPosition> _groupBarsPosition;
  
    /// Paints [data] into canvas, it is the animating [BarChartData],
    /// [targetData] is the animation's target and remains the same
  
negative.code:   /// then makes a [BarTouchResponse] from the elements that has been touched.
    @override
    BarTouchResponse handleTouch(FlTouchInput touchInput, Size size) {
  
      final List<double> _groupsX = _calculateGroupsX(size, data.barGroups, data.alignment);
      final List<_GroupBarsPosition> _groupBarsPosition =
      _calculateGroupAndBarsPosition(size, _groupsX, data.barGroups);
  
      final BarTouchedSpot touchedSpot =
          _getNearestTouchedSpot(size, touchInput.getOffset(), _groupBarsPosition);
      return BarTouchResponse(touchedSpot, touchInput);
  