class UserDeviceServiceImpl implements UserDeviceService {

    @Nonnull
    @Override
    public UserDevice getUserDeviceById(@Nonnull final Long userDeviceId) {
        Assert.notNull(userDeviceId, "User device id should not be null");
        LOGGER.debug("Retrieving user device for id - {}", userDeviceId);
        final UserDevice userDevice = userDeviceRepository.findById(userDeviceId).orElseThrow(() -> new UserDeviceNotFoundForIdException(userDeviceId));
        LOGGER.debug("Successfully retrieved user device for id - {}, user device - {}", userDeviceId, userDevice);
        return userDevice;
    }

    public  UserDeviceServiceImpl();

}