anchor.diff:  
     _TapTracker({ PointerInputEvent event, this.entry })
       : pointer = event.pointer,
  -      _initialPosition = event.position,
  -      _isTrackingPointer = false {
  +      _initialPosition = event.position {
       assert(event.type == 'pointerdown');
     }
   
     final int pointer;
  -  GestureArenaEntry entry;
  -  ui.Point _initialPosition;
  -  bool _isTrackingPointer;
  +  final GestureArenaEntry entry;
  +  final Point _initialPosition;
  +
  +  bool _isTrackingPointer = false;
   
     void startTrackingPointer(PointerRouter router, PointerRoute route) {
       if (!_isTrackingPointer) {
  
positive.code:   cancel
  }
  
  /// TapGesture represents a full gesture resulting from a single tap
  /// sequence. Tap gestures are passive, meaning that they will not
  /// pre-empt any other arena member in play.
  class _TapGesture extends _TapTracker {
  
    _TapGesture({ this.gestureRecognizer, PointerInputEvent event })
        : super(event: event) {
      entry = GestureArena.instance.add(event.pointer, gestureRecognizer);
      startTrackingPointer(gestureRecognizer.router, handleEvent);
    }
  
    final MultiTapGestureRecognizer gestureRecognizer;
  
    bool _wonArena = false;
    ui.Point _finalPosition;
  
    void handleEvent(PointerInputEvent event) {
      assert(event.pointer == pointer);
  
negative.code: // found in the LICENSE file.
  
  import 'dart:async';
  import 'dart:ui' show Point, Offset;
  
  import 'arena.dart';
  import 'constants.dart';
  