private TurmsNotification getNotificationFromResponse(
            @NotNull ServiceResponse response,
            long requestId) {
        ResponseStatusCode code = response.code();
        if (code == null) {
            throw new IllegalArgumentException(
                    "The business code should not be null in the service response: "
                            + response);
        }
        TurmsNotification.Builder builder = ClientMessagePool.getTurmsNotificationBuilder();
        String reason = response.reason();
        if (reason != null) {
            builder.setReason(reason);
        }
        TurmsNotification.Data dataForRequester = response.dataForRequester();
        if (dataForRequester != null) {
            builder.setData(dataForRequester);
        }
        return builder.setTimestamp(System.currentTimeMillis())
                .setCode(code.getBusinessCode())
                .setRequestId(requestId)
                .build();
    }
@return a response to the request.
@implNote The method ensures turmsRequestBuffer in serviceRequest will be released by 1
turms-gateway/src/main/java/im/turms/gateway/domain/servicerequest/service/ServiceRequestService.java