anchor.diff:      return new MimicableHandle._(this);
     }
   
  -  /// Start the mimicking process and mimic this object in the
  -  /// enclosing [Overlay].
  -  ///
  -  /// The child of this object will no longer be built at this
  -  /// location in the tree. Instead, (1) this widget will build a
  -  /// transparent placeholder with the same dimensions as the widget
  -  /// had when the mimicking process started and (2) the child will be
  -  /// placed in the enclosing overlay.
  +  /// Start the mimicking process and mimic this object in the enclosing
  +  /// [Overlay].
  +  ///
  +  /// The child of this object will no longer be built at this location in the
  +  /// tree. Instead, (1) this widget will build a transparent placeholder with
  +  /// the same dimensions as the widget had when the mimicking process started
  +  /// and (2) the child will be placed in the enclosing overlay.
  +  ///
  +  /// To end the mimic process, call [MimicOverlayEntry.dispose] on the returned
  +  /// object.
     MimicOverlayEntry liftToOverlay() {
       OverlayState overlay = Overlay.of(context, debugRequiredFor: config);
       return new MimicOverlayEntry._(startMimic(), overlay);
  
positive.code: /// A widget that can be copied by a [Mimic].
  ///
  /// This widget's State, [MimicableState], contains an API for initiating the
  /// mimic operation.
  class Mimicable extends StatefulWidget {
    /// Creates a widget that can be copies by a [Mimic].
    Mimicable({ Key key, this.child }) : super(key: key);
  
negative.code:    _overlayEntry?.markNeedsBuild();
   }
  
    /// Remove this entry from the overlay and restore the widget to its original
    /// place in the tree.
    ///
    /// Once removed, the overlay entry cannot be used further.
    void dispose() {
  