anchor.diff:    final T data;
   
     /// The widget below this widget in the tree.
  +  ///
  +  /// This widget displays [child] when zero drags are under way. If
  +  /// [childWhenDragging] is non-null, this widget instead displays
  +  /// [childWhenDragging] when one or more drags are underway. Otherwise, this
  +  /// widget always displays [child].
  +  ///
  +  /// The [feedback] widget is shown under the pointer when a drag is under way.
  +  ///
  +  /// To limit the number of simultaneous drags on multitouch devices, see
  +  /// [maxSimultaneousDrags].
     final Widget child;
   
  -  /// The widget to show instead of [child] when a drag is under way.
  -  ///
  -  /// If this is null, then [child] will be used instead (and so the
  -  /// drag source representation will change while a drag is under
  +  /// The widget to display instead of [child] when one or more drags are under way.
  +  ///
  +  /// If this is null, then this widget will always display [child] (and so the
  +  /// drag source representation will not change while a drag is under
     /// way).
  +  ///
  +  /// The [feedback] widget is shown under the pointer when a drag is under way.
  +  ///
  +  /// To limit the number of simultaneous drags on multitouch devices, see
  +  /// [maxSimultaneousDrags].
     final Widget childWhenDragging;
   
     /// The widget to show under the pointer when a drag is under way.
  +  ///
  +  /// See [child] and [childWhenDragging] for information about what is shown
  +  /// at the location of the [Draggable] itself when a drag is under way.
     final Widget feedback;
   
     /// The feedbackOffset can be used to set the hit test target point for the
  
positive.code: /// When a draggable widget recognizes the start of a drag gesture, it displays
  /// a [feedback] widget that tracks the user's finger across the screen. If the
  /// user lifts their finger while on top of a [DragTarget], that target is given
  /// the opportunity to accept the [data] carried by the draggble.
  ///
  /// See also:
  ///
  
negative.code:   /// When null, no limit is applied. Set this to 1 if you want to only allow
    /// the drag source to have one item dragged at a time. Set this to 0 if you
    /// want to prevent the draggable from actually being dragged.
    ///
    /// If you set this property to 1, consider supplying an "empty" widget for
    /// [childWhenDragging] to create the illusion of actually moving [child].
    final int maxSimultaneousDrags;
  
    /// Called when the draggable starts being dragged.
  