<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def translate(self, address):
 """ Translates the given address to another address specific to network or service. :param address: (:class:`~hazelcast.core.Address`), private address to be translated :return: (:class:`~hazelcast.core.Address`), new address if given address is known, otherwise returns null """

        if address is None:
            return None

        public_address = self._private_to_public.get(address)
        if public_address:
            return public_address

        self.refresh()

        return self._private_to_public.get(address)