anchor.diff:      offset = attributes['offset'] == null ? 0 : int.parse(attributes['offset']);
   
       element.attributes.keys.where((k) => IS_WHEN.hasMatch(k)).forEach((k) {
  -      var rule = k.replaceFirst('when-', '').replaceFirst('minus-', '-');
  -      whens[rule] = element.attributes[k];
  +      var ruleName = k.replaceFirst('when-', '').replaceFirst('minus-', '-');
  +      whens[ruleName] = element.attributes[k];
       });
   
       if (whens['other'] == null) {
  
positive.code:   final Scope scope;
    final Interpolate interpolate;
    int offset;
    Map<String, String> whens = new Map();
    Map<Symbol, String> whensOffset = new Map();
    static final RegExp IS_WHEN = new RegExp(r'^when-(minus-)?.');
  
    NgPluralizeDirective(this.scope, this.element, this.interpolate, NodeAttrs attributes) {
  
negative.code: 
      whens.forEach((k, v) {
        if (['zero', 'one', 'two', 'few', 'many', 'other'].contains(k)) {
          this.categoryRules[new Symbol(k.toString())] = v;
        } else {
          this.discreteRules[k.toString()] = v;
        }
      });
    }
  