@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());
             }
           }
         }
       }
     }
   }
 }
 void assertSelectAll(SearchResult selectedDataSearchResult) {
   List<Patient> patients = selectedDataSearchResult.getPatients();
   int numbOfPatients = patients.size();
   assertEquals(
       "Invalid number of patients. Expected: 2, actual: " + numbOfPatients, 2, numbOfPatients);
   for (Patient patient : patients) {
     List<Study> studies = patient.getStudies();
     if (patient.getPatientID().equalsIgnoreCase("111")) {
       assertEquals(
           "Invalid number of studies. Expected: 2, actual: " + studies.size(), 2, studies.size());
       for (Study study : studies) {
         if (study.getStudyInstanceUID().equalsIgnoreCase("101.101")) {
           List<Series> series = study.getSeries();
           assertEquals(
               "Invalid number of series. Expected: 1, actual: " + series.size(),
               1,
               series.size());
           for (Series oneSeries : series) {
             if (oneSeries.getSeriesInstanceUID().equalsIgnoreCase("101.101.1")) {
               List<Item> items = oneSeries.getItems();
               int numbOfItems = items.size();
               assertEquals(
                   "Invalid number of items in Series 101.101.1 . Expected: 1, actual: "
                       + numbOfItems,
                   1,
                   numbOfItems);
               assertEquals(
                   "Invalid item in Series 101.101.1 . Expected: 101.101.1.000.000.1, actual: "
                       + items.get(0).getItemID(),
                   "101.101.1.000.000.1",
                   items.get(0).getItemID());
             }
           }
         } else if (study.getStudyInstanceUID().equalsIgnoreCase("202.202")) {
           List<Series> series = study.getSeries();
           assertEquals(
               "Invalid number of series. Expected: 2, actual: " + series.size(),
               2,
               series.size());
           for (Series oneSeries : series) {
             if (oneSeries.getSeriesInstanceUID().equalsIgnoreCase("202.202.1")) {
               List<Item> items = oneSeries.getItems();
               int numbOfItems = items.size();
               assertEquals(
                   "Invalid number of items in Series 202.202.1 . Expected: 2, actual: "
                       + numbOfItems,
                   2,
                   numbOfItems);
               for (Item item : items) {
                 if (item.getItemID().equalsIgnoreCase("202.202.1.000.000.1")) {
                   assertEquals(
                       "Invalid item in Series 202.202.1 . Expected: 202.202.1.000.000.1, actual: "
                           + item.getItemID(),
                       "202.202.1.000.000.1",
                       item.getItemID());
                 } else if (item.getItemID().equalsIgnoreCase("202.202.1.000.000.2")) {
                   assertEquals(
                       "Invalid item in Series 202.202.1 . Expected: 202.202.1.000.000.2, actual: "
                           + item.getItemID(),
                       "202.202.1.000.000.2",
                       item.getItemID());
                 }
               }
             } else if (oneSeries.getSeriesInstanceUID().equalsIgnoreCase("303.303.1")) {
               List<Item> items = oneSeries.getItems();
               int numbOfItems = items.size();
               assertEquals(
                   "Invalid number of items in Series 303.303.1 . Expected: 2, actual: "
                       + numbOfItems,
                   2,
                   numbOfItems);
               for (Item item : items) {
                 if (item.getItemID().equalsIgnoreCase("303.303.1.000.000.1")) {
                   assertEquals(
                       "Invalid item in Series 303.303.1 . Expected: 303.303.1.000.000.1, actual: "
                           + item.getItemID(),
                       "303.303.1.000.000.1",
                       item.getItemID());
                 } else if (item.getItemID().equalsIgnoreCase("303.303.1.000.000.2")) {
                   assertEquals(
                       "Invalid item in Series 303.303.1 . Expected: 303.303.1.000.000.2, actual: "
                           + item.getItemID(),
                       "303.303.1.000.000.2",
                       item.getItemID());
                 }
               }
             }
           }
         }
       }
     } else if (patient.getPatientID().equalsIgnoreCase("222")) {
       assertEquals(
           "Invalid number of studies. Expected: 1, actual: " + studies.size(), 1, studies.size());
       for (Study study : studies) {
         if (study.getStudyInstanceUID().equalsIgnoreCase("303.303")) {
           List<Series> series = study.getSeries();
           assertEquals(
               "Invalid number of series. Expected: 1, actual: " + series.size(),
               1,
               series.size());
           for (Series oneSeries : series) {
             if (oneSeries.getSeriesInstanceUID().equalsIgnoreCase("404.404.1")) {
               List<Item> items = oneSeries.getItems();
               int numbOfItems = items.size();
               assertEquals(
                   "Invalid number of items in Series 404.404.1 . Expected: 1, actual: "
                       + numbOfItems,
                   1,
                   numbOfItems);
               assertEquals(
                   "Invalid item in Series 404.404.1 . Expected: 404.404.1.000.000.1, actual: "
                       + items.get(0).getItemID(),
                   "404.404.1.000.000.1",
                   items.get(0).getItemID());
             }
           }
         }
       }
     }
   }
 }