anchor.diff:      return List.generate(a.length, (i) {
         return HorizontalRangeAnnotation.lerp(a[i], b[i], t);
       });
  -  } else {
  +  } else if (a != null && b != null) {
  +    return List.generate(b.length, (i) {
  +      return HorizontalRangeAnnotation.lerp(i >= a.length ? b[i] : a[i], b[i], t);
  +    });
  +  }  else {
       return b;
     }
   }
  
positive.code:     return List.generate(a.length, (i) {
        return VerticalRangeAnnotation.lerp(a[i], b[i], t);
      });
    } else {
      return b;
    }
  }
  
negative.code:     return List.generate(a.length, (i) {
        return BarChartRodStackItem.lerp(a[i], b[i], t);
      });
    } else if (a != null && b != null) {
      return List.generate(b.length, (i) {
        return BarChartRodStackItem.lerp(i >= a.length ? b[i] : a[i], b[i], t);
      });
    } else {
      return b;
    }
  }
  