          if not selections or (display == "loss" and not loss_keys):
              return False
          return True
  
      def _check_valid_data(self):
          """ Check that the selections holds valid data to display
              NB: len-as-condition is used as data could be a list or a numpy array
          """
          logger.debug("Validating data. %s",
                       {key: len(val) for key, val in self._display_data.stats.items()})
 
</s> remove     def _selections_to_list(self):
 </s> add     def _selections_to_list(self) -> List[str]: </s> remove         selections = list()
 </s> add         selections = [] </s> remove     def _compile_display_data(self):
        """ Compile the data to be displayed. """
 </s> add     def _compile_display_data(self) -> bool:
        """ Compile the data to be displayed.

        Returns
        -------
        bool
            ``True`` if there is valid data to display, ``False`` if not
        """ </s> remove     def __init__(self):
 </s> add     def __init__(self) -> None:
    def _check_valid_data(self) -> bool:
          if not selections or (display == "loss" and not loss_keys):
              return False
          return True
  
    def _check_valid_data(self) -> bool:
          """ Check that the selections holds valid data to display
              NB: len-as-condition is used as data could be a list or a numpy array
          """
          logger.debug("Validating data. %s",
                       {key: len(val) for key, val in self._display_data.stats.items()})
keep keep keep keep replace keep keep keep keep keep
 Bugfixes:
  - Stats graph - Handle NaNs in data
  - logger - de-elevate matplotlib font messages 
lib/gui/popup_session.py