bool PropertiesClassification::applyChanges()
{
   ClassificationWidget* pClassificationPage = dynamic_cast<ClassificationWidget*>(getWidget());
   VERIFY(pClassificationPage != NULL);

   bool success = pClassificationPage->applyChanges();
   if (success == false)
   {
      return false;
   }

   DataElement* pElement = dynamic_cast<DataElement*>(getSessionItem());
   if (pElement != NULL)
   {
      pElement->setClassification(mpClassification.get());
   }
   else
   {
      View* pView = dynamic_cast<View*>(getSessionItem());
      if (pView != NULL)
      {
         pView->setClassification(mpClassification.get());
      }
      else
      {
         PlotWidget* pPlotWidget = dynamic_cast<PlotWidget*>(getSessionItem());
         if (pPlotWidget != NULL)
         {
            pPlotWidget->setClassification(mpClassification.get());
         }
         else
         {
            return false;
         }
      }
   }

   return true;
}