<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _normalize(self, address):
 """ Normalize prefixes, suffixes and other to make matching original to returned easier. """

        normalized_address = []
        if self.logger: self.logger.debug("Normalizing Address: {0}".format(address))
        for token in address.split():
            if token.upper() in self.parser.suffixes.keys():
                normalized_address.append(self.parser.suffixes[token.upper()].lower())
            elif token.upper() in self.parser.suffixes.values():
                normalized_address.append(token.lower())
            elif token.upper().replace('.', '') in self.parser.suffixes.values():
                normalized_address.append(token.lower().replace('.', ''))
            elif token.lower() in self.parser.prefixes.keys():
                normalized_address.append(self.parser.prefixes[token.lower()].lower())
            elif token.upper() in self.parser.prefixes.values():
                normalized_address.append(token.lower()[:-1])
            elif token.upper() + '.' in self.parser.prefixes.values():
                normalized_address.append(token.lower())
            else:
                normalized_address.append(token.lower())
        return normalized_address