@Override
    public void retourner(Session session,
        PretDTO pretDTO) throws InvalidHibernateSessionException,
        InvalidDTOException,
        InvalidCriterionException,
        InvalidSortByPropertyException,
        ServiceException {
        if(session == null) {
            throw new InvalidHibernateSessionException("La session ne peut être null");
        }

        final LivreDTO unLivreDTO = pretDTO.getLivreDTO();

        final List<PretDTO> prets = new ArrayList<>(unLivreDTO.getPrets());

        PretDTO unPretDTO = pretDTO;

        try {
            if(prets.isEmpty()) {
                throw new MissingLoanException("Le livre "
                    + unLivreDTO.getTitre()
                    + " (ID de livre : "
                    + unLivreDTO.getIdLivre()
                    + ") n'a pas été prêté ");
            }
        } catch(MissingLoanException ex) {
            throw new ServiceException(ex);
        }

        unPretDTO = prets.get(0);
        unPretDTO.setDateRetour(new Timestamp(System.currentTimeMillis()));
        updatePret(session,
            unPretDTO);

    }