anchor.diff:      );
     }
   
  +  Widget _buildBody(BuildContext context) {
  +    final double statusBarHeight = MediaQuery.of(context).padding.top;
  +    List<Recipe> recipes = config.showFavorites ? favoriteRecipes.toList() : kRecipes;
  +    final EdgeInsets padding = new EdgeInsets.fromLTRB(8.0, 8.0 + _kAppBarHeight + statusBarHeight, 8.0, 8.0);
  +
  +    if (config.showFavorites && recipes.isEmpty) {
  +      return new Padding(
  +        padding: padding,
  +        child: new Text('Save your favorite recipes to see them here.', style: favoritesMessageStyle)
  +      );
  +    }
  +
  +    return new ScrollableGrid(
  +      delegate: new MaxTileWidthGridDelegate(
  +        maxTileWidth: 500.0,
  +        rowSpacing: 8.0,
  +        columnSpacing: 8.0,
  +        padding: padding
  +      ),
  +      children: recipes.map(
  +        (Recipe recipe) => new _RecipeCard(
  +          recipe: recipe,
  +          onTap: () { _showRecipe(context, recipe); }
  +        )
  +      )
  +    );
  +  }
  +
     void _showFavorites(BuildContext context) {
       Navigator.push(context, new MaterialPageRoute<Null>(
         builder: (BuildContext context) {
  
positive.code:               )
              ]
            )
          ]
        )
      );
    }
  
  
negative.code: 
  class _PestoDemoState extends State<PestoDemo> {
    final GlobalKey<ScaffoldState> _scaffoldKey = new GlobalKey<ScaffoldState>();
    final TextStyle favoritesMessageStyle = _textStyle(16.0);
    final TextStyle userStyle = _textStyle(12.0, FontWeight.bold);
    final TextStyle emailStyle = _textStyle(12.0).copyWith(color: Colors.black54);
  
    @override
    Widget build(BuildContext context) {
      return new Theme(
        data: _kTheme,
        child: new Scaffold(
  