code: def get_solver(self, name=None, refresh=False, **filters):
          _LOGGER.debug("Requested a solver that best matches feature filters=%r", filters)
          if name is not None:
              filters.setdefault('name', name)
          if not filters and self.default_solver:
              filters = self.default_solver
          try:
              _LOGGER.debug("Fetching solvers according to filters=%r", filters)
              return self.get_solvers(refresh=refresh, **filters)[0]
          except IndexError:
              raise SolverNotFoundError("Solver with the requested features not available")