public override bool DoFlash(string[] flashSpec1, string[] flashSpec2, string solutionType, bool showWarning = false)
 {
     CasterLogger.Debug($"DoFlash for {flashSpec1} and {flashSpec2} in Solution type: {solutionType}");
     try
     {
         PresentPhases = AllowedPhases;
         _capeThermoEquilibriumRoutine.CalcEquilibrium(flashSpec1, flashSpec2, solutionType);
         //_alreadyFlashed = true;
     }
     catch (Exception e)
     {
         if (showWarning)
         {
             MessageBox.Show("Flash failed. " + e.Message);
         }
         CasterLogger.ErrorFormatted("Flash failed. {0}", e.Message);
         Debug.WriteLine("Flash failed. {0}", e.Message);
         return(false);
     }
     CasterLogger.Debug($"Finish DoFlash");
     return(true);
 }