anchor.diff:  
       result.add(
           new Location(l.name, newTransitionAt, newTransitionZone, l.zones));
  +    report.newLocationsCount++;
     }
   
  -  return result;
  +  return new Tuple2(result, report);
   }
   
   void main(List<String> arguments) {
  
positive.code:   }
  
    initializeTimeZone(source).then((_) {
      final newLocationDatabase = filterTimeZoneData(LocationDatabase.instance,
          dateFrom: from,
          dateTo: to);
  
      return new File(output).writeAsBytes(newLocationDatabase.toBytes()).then((_) {
        print('Finished');
        exit(0);
      });
  
  
negative.code:       newTransitionAt.add(_alpha);
        newTransitionZone.add(l.transitionZone[i]);
        i++;
        report.newTransitionsCount++;
  
        while (i < transitionsCount && l.transitionAt[i] <= dateTo) {
          newTransitionAt.add(l.transitionAt[i]);
          newTransitionZone.add(l.transitionZone[i]);
          i++;
          report.newTransitionsCount++;
        }
      } else {
        newTransitionAt.add(_alpha);
  