void ProcessError(ErrorReport& report)
 {
     if (report.GetState() == FIX)
     {
         std::cout << "FixError::Handled the command to fix the error" << std::endl;
         m_state = FIX;
     } else if (m_successor != 0) {
         std::cout << "FixError::Passing to my successor" << std::endl;
         m_successor->ProcessError(report);
     } else {
         std::cout << "FixError::No successor --> No action required" << std::endl;
     }
 }
 void ProcessError(ErrorReport& report)
 {
     if (report.GetState() == ANALYZE )
     {
         std::cout << "AnalyzeError::Handled the command to analyze the error" << std::endl;
         m_state = ANALYZE;
     } else if (m_successor != 0){
         std::cout << "AnalyzeError::Passing to my successor" << std::endl;
         m_successor->ProcessError(report);
     } else {
         std::cout << "AnalyzeError::No successor --> No action required" << std::endl;
     }
 }