def METHOD_NAME(self, other: "Endpoint") -> None:
    if other:
        if self.name != other.name:
            msg = "The endpoint name: {} and {} are not matched when merging."
            raise ValidationException(
                message=msg.format(self.name, other.name),
                target=ErrorTarget.ENDPOINT,
                no_personal_data_message=msg.format("[name1]", "[name2]"),
                error_category=ErrorCategory.USER_ERROR,
                error_type=ValidationErrorType.INVALID_VALUE,
            )
        self.description = other.description or self.description
        if other.tags:
            self.tags = {**self.tags, **other.tags}
        if other.properties:
            self.properties = {**self.properties, **other.properties}
        self.auth_mode = other.auth_mode or self.auth_mode
        if hasattr(other, "traffic"):
            self.traffic = other.traffic  # pylint: disable=attribute-defined-outside-init
        if hasattr(other, "mirror_traffic"):
            self.mirror_traffic = other.mirror_traffic  # pylint: disable=attribute-defined-outside-init
        if hasattr(other, "defaults"):
            self.defaults = other.defaults  # pylint: disable=attribute-defined-outside-init