anchor.diff:      Widget card = new Dismissable(
         key: new ObjectKey(cardModel),
         direction: _dismissDirection,
  -      onResize: () { _invalidator(<int>[index]); },
  +      onResize: () { if (_invalidator != null) _invalidator(<int>[index]); },
         onDismissed: (DismissDirection direction) { dismissCard(cardModel); },
         child: new Card(
           color: _primaryColor[cardModel.color],
  
positive.code:   }
  
    double _fixedSizeToSnapOffset(double scrollOffset) {
      double cardHeight = _cardModels[0].height;
      int cardIndex = (scrollOffset.clamp(0.0, cardHeight * (_cardModels.length - 1)) / cardHeight).floor();
      return cardIndex * cardHeight + cardHeight * 0.5;
    }
  
    double _toSnapOffset(double scrollOffset, Size containerSize) {
  
negative.code:             )
            : new DefaultTextStyle(
                style: DefaultTextStyle.of(context).merge(cardLabelStyle).merge(_textStyle).copyWith(
                  fontSize: _varyFontSizes ? 5.0 + index : null
                ),
                child: new Column(
                  children: <Widget>[
  