docs: def execute_and_recommend(self, drop_doses=False):
          """
          Execute and recommend a best-fitting model. If drop_doses and no model
          is recommended, drop the highest dose-group and repeat until either:
  
          1. a model is recommended, or
          2. the dataset is exhausted (i.e., only 3 dose-groups remain).
  
          The session instance is equal to the final run which was executed; if doses were dropped
          all previous sessions are saved in self.doses_dropped_sessions.
          """
          self.execute()
          self.recommend()
  
          if not drop_doses:
              return
  
          while self.recommended_model is None and self.dataset.num_dose_groups > 3:
              self.doses_dropped_sessions[self.doses_dropped] = self.clone()
              self.dataset.drop_dose()
              self.execute()
              self.recommend()
              self.doses_dropped += 1