code: def remove_outdated(self, after, when=0):
          
          if when:
              now = when
          else:
              now = time.time()
  
          if not isinstance(after, float):
              try:
                  after = float(after)
              except TypeError:
                  raise
  
          _kl = []
          for k in self._keys:
              if k.inactive_since and k.inactive_since + after < now:
                  continue
              else:
                  _kl.append(k)
  
          self._keys = _kl
docs: Remove keys that should not be available any more.
          Outdated means that the key was marked as inactive at a time
          that was longer ago then what is given in 'after'.
  
          :param after: The length of time the key will remain in the KeyBundle
              before it should be removed.
          :param when: To make it easier to test