class UserDeviceServiceImpl implements UserDeviceService {

    @Nonnull
    @Override
    public UserDevice getUserDeviceByUuId(@Nonnull final Long userId, @Nonnull final String uuId) {
        assertUserId(userId);
        assertUuIdNotNull(uuId);
        LOGGER.debug("Getting user device for user with id - {}, device uuid - {}", userId, uuId);
        final User user = userService.getUserById(userId);
        final UserDevice userDevice = userDeviceRepository.findByUserAndUuId(user, uuId);
        assertUserDeviceNotNullForUuId(userDevice, userId, uuId);
        LOGGER.debug("Successfully retrieved user device with id - {} for user with id - {}, device uuid - {}", userDevice.getId(), userId, uuId);
        return userDevice;
    }

    public  UserDeviceServiceImpl();

}