anchor.diff:    final GlobalKey _subtreeKey = new GlobalKey();
     final PageStorageBucket _storageBucket = new PageStorageBucket();
   
  +  // one of the builders
     Widget _buildModalBarrier(BuildContext context) {
       Widget barrier;
       if (barrierColor != null) {
  
positive.code:       key: new GlobalObjectKey(config.route),
        child: new RepaintBoundary(child: contents)
      );
      ModalPosition position = config.route.getPosition(context);
      if (position == null)
        return contents;
      return new Positioned(
        top: position.top,
        right: position.right,
        bottom: position.bottom,
        left: position.left,
        child: contents
      );
    }
  }
  
  /// Where a [ModalRoute] should be positioned within the [Navigator]'s [Overlay].
  class ModalPosition {
    const ModalPosition({ this.top, this.right, this.bottom, this.left });
  
    /// The offset of the route's top edge from the top of the overlay.
    final double top;
  
    /// The offset of the route's right edge from the right of the overlay.
    final double right;
  
    /// The offset of the route's bottom edge from the bottom of the overlay.
    final double bottom;
  
    /// The offset of the route's left edge from the left of the overlay.
    final double left;
  }
  
  /// A route that blocks interaction with previous routes.
  abstract class ModalRoute<T> extends TransitionRoute<T> with LocalHistoryRoute<T> {
    ModalRoute({
      Completer<T> completer,
  
negative.code:     );
    }
  
    // one of the builders
    Widget _buildModalScope(BuildContext context) {
      return new _ModalScope(
        key: _scopeKey,
  