@Override
 public void dataSelectionChanged(DataSelectionEvent event) {
   selectedDataSearchResult = (SearchResult) event.getSource();
   selectedDataSearchResult.setOriginalCriteria(searchResult.getOriginalCriteria());
   selectedDataSearchResult.setDataSourceDescription(
       "Selected data for " + searchResult.getDataSourceDescription());
   synchronized (this) {
     this.notify();
   }
   if (logger.isDebugEnabled()) {
     logger.debug("Value of selectedDataSearchresult: ");
     if (selectedDataSearchResult != null) {
       List<Patient> patients = selectedDataSearchResult.getPatients();
       for (Patient logPatient : patients) {
         logger.debug(logPatient.toString());
         List<Study> studies = logPatient.getStudies();
         for (Study logStudy : studies) {
           logger.debug("   " + logStudy.toString());
           List<Series> series = logStudy.getSeries();
           for (Series logSeries : series) {
             logger.debug("      " + logSeries.toString());
             List<Item> items = logSeries.getItems();
             for (Item logItem : items) {
               logger.debug("         " + logItem.toString());
             }
           }
         }
       }
     }
   }
 }