def METHOD_NAME(self, obj):
    try:
        domain = self._set_domain(
            country_id=obj.country_id.id,
            state_id=obj.state_id.id,
            city_id=obj.city_id.id,
            district=obj.district,
            street_name=obj.street_name,
            zip_code=obj.zip,
        )
    except AttributeError as e:
        raise UserError(_("Error loading attribute: ") + str(e)) from e
    zips = self.search(domain)
    # One ZIP was found
    if len(zips) == 1:
        obj.write(zips[0].set_result())
        return True
    # More than one ZIP was found
    elif len(zips) > 1:
        return self.create_wizard(obj, zips)
    # Address not found in local DB, search by PyCEP-Correios
    elif not zips and obj.zip:
        cep_values = self._consultar_cep(obj.zip)
        if cep_values:
            # Create zip object
            z = self.create(cep_values)
            obj.write(z.set_result())
            return True