<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 async def on_raw_nick(self, message):
 """ NICK command. """

        nick, metadata = self._parse_user(message.source)
        new = message.params[0]

        self._sync_user(nick, metadata)
        # Acknowledgement of nickname change: set it internally, too.
        # Alternatively, we were force nick-changed. Nothing much we can do about it.
        if self.is_same_nick(self.nickname, nick):
            self.nickname = new

        # Go through all user lists and replace.
        self._rename_user(nick, new)

        # Call handler.
        await self.on_nick_change(nick, new)