anchor.diff:    }
   
     Audio currentAudio() {
  -    return audioAt(at: playedAudios[playlistIndex]);
  +    return audioAt(at: indexList[playlistIndex]);
     }
   
     bool hasNext() {
  -    int index = playedAudios.indexWhere((element) => playlistIndex == element);
  -    return index + 1 < playedAudios.length;
  +    int index = indexList.indexWhere((element) => playlistIndex == element);
  +    return index + 1 < indexList.length;
     }
   
     _CurrentPlaylist({
  
positive.code:   int playlistIndex = 0;
  
    int nextIndex() {
      int index = playedAudios.indexWhere((element) => playlistIndex == element);
      if (index + 1 == playedAudios.length) {
        return playedAudios.first;
      } else {
        return playedAudios[index + 1];
      }
    }
  
    int previousIndex() {
      int index = playedAudios.indexWhere((element) => playlistIndex == element);
      if (index == 0) {
        return playedAudios.last;
      } else {
        return playedAudios[index - 1];
      }
    }
  
    selectNext() {
      int index = playedAudios.indexWhere((element) => playlistIndex == element);
      if (hasNext()) {
        index = index + 1;
      }
      playlistIndex = index;
    }
  
    List<int> playedAudios = [];
  
    fillPlayedAudios() {
      for (var i = 0; i < this.playlist.audios.length; i++) {
        playedAudios.add(i);
      }
    }
  
    clearPlayeAudio(bool shuffle) {
      playedAudios.clear();
      if (shuffle) {
        shuffleAudios();
      } else {
        fillPlayedAudios();
      }
    }
  
    shuffleAudios() {
      for (var i = 0; i < this.playlist.audios.length; i++) {
        int index = _shuffleNumbers();
        playedAudios.add(index);
      }
    }
  
    int _shuffleNumbers() {
      Random random = Random();
      int index = random.nextInt(playlist.audios.length);
      if (playedAudios.contains(index)) {
        index = _shuffleNumbers();
      }
      return index;
  
negative.code:   Future<bool> _next(
        {bool stopIfLast = false, bool requestByUser = false}) async {
      if (_playlist != null) {
        if (_playlist.hasNext()) {
          if (this._current.value != null) {
            _playlistAudioFinished.add(Playing(
  