code: def check_street(self, token):
          
          # First check for single word streets between a prefix and a suffix
          if self.street is None and self.street_suffix is not None and self.street_prefix is None and self.house_number is None:
              self.street = self._clean(token.capitalize())
              return True
          # Now check for multiple word streets. This check must come after the check for street_prefix and house_number for this reason.
          elif self.street is not None and self.street_suffix is not None and self.street_prefix is None and self.house_number is None:
              self.street = self._clean(token.capitalize() + ' ' + self.street)
              return True
          if not self.street_suffix and not self.street and token.lower() in self.parser.streets:
              self.street = self._clean(token)
              return True
          return False
docs: Let's assume a street comes before a prefix and after a suffix. This isn't always the case, but we'll deal
          with that in our guessing game. Also, two word street names...well...
  
          This check must come after the checks for house_number and street_prefix to help us deal with multi word streets.