playing = true;
toKeepPlaying = true;
  private void playTrack() {    try {      synchronized (this) {	  // If a next track has been chosen by the user, use that, otherwise	  // pick one intelligently.	currentTrack = nextTrack != null ? nextTrack : playListManager.chooseTrack();	playing = true;	nextTrack = null;      }      if (currentTrack != null) {          // Work out which player we're planning to use        externalPlayer = playListManager.getPlayList().getPlayer();        notifyActionListeners();        File file = currentTrack.getFile();        if (file.exists()) {          if (playListManager.getPlayList().isRoboJockEnabled()) {            try {              speech.say((currentTrack.isRated() ? "" : "Unrated. ") + currentTrack.getTitle() + " by " + currentTrack.getArtist());            }            catch (Exception e) {              e.printStackTrace();            }          }	  if (playing) {	    playFile(file);            if (playing)               currentTrack.incNoOfTimesPlayed();          }        }      }    }    catch (Exception e) {      e.printStackTrace();    }    finally {      try {        sleep(500);      }      catch (InterruptedException e) {      }    }  }