anchor.diff:  
   IconButton _nextButton(Color color) => IconButton(
         icon: Icon(Icons.skip_next),
  -      onPressed: getIt<AudioPlayer>().seekToNext,
  +      onPressed: getIt<AudioPlayer>().hasNext ? getIt<AudioPlayer>().seekToNext : null,
         iconSize: 24.0,
         color: color,
       );
  
positive.code:       builder: (context, snapshot) {
          final MediaItem? mediaItem = snapshot.data?.currentSource?.tag as MediaItem?;
          if (mediaItem == null) {
            return Container(); // TODO animate the whole thing out when no data
          }
          return SizedBox(
            height: 64,
  
negative.code: 
  IconButton _previousButton(Color color) => IconButton(
        icon: Icon(Icons.skip_previous),
        onPressed: getIt<AudioPlayer>().hasPrevious ? getIt<AudioPlayer>().seekToPrevious : null,
        iconSize: 24.0,
        color: color,
      );
  