anchor.diff:        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;
  +    return contents;
  +  }
   }
   
   /// A route that blocks interaction with previous routes.
  +///
  +/// ModalRoutes cover the entire [Navigator]. They are not necessarily [opaque],
  +/// however; for example, a pop-up menu uses a ModalRoute but only shows the menu
  +/// in a small box overlapping the previous route.
   abstract class ModalRoute<T> extends TransitionRoute<T> with LocalHistoryRoute<T> {
     ModalRoute({
       Completer<T> completer,
  
positive.code:     );
    }
  
    Widget _buildModalScope(BuildContext context) {
      return new _ModalScope(
        key: _scopeKey,
  
negative.code: 
  
    // The API for subclasses to override - used by _ModalScope
  
    /// Override this function to build the primary content of this route.
    ///
  