/**
  * Begins a new download if one is not already in progress
  *
  * @param language
  */
 private void connectDownloadTask(SourceLanguage language) {
   String taskId = DOWNLOAD_LANGUAGE_PREFIX + mProject.getId() + "-" + language.getId();
   DownloadLanguageTask task = (DownloadLanguageTask) TaskManager.getTask(taskId);
   if (task == null) {
     // start new download
     task = new DownloadLanguageTask(mProject, language);
     TaskManager.addTask(task, taskId);
     // NOTE: the LibraryLanguageAdapter handles the onProgress and onFinish events
     mAdapter.notifyDataSetChanged();
   }
 }
 @Override
 public void NotifyAdapterDataSetChanged() {
   if (mAdapter != null) {
     mAdapter.notifyDataSetChanged();
   }
 }