public static void validate(Review review) throws ValidationMovieCatalogException {

        LinkedList<String> errorList = new LinkedList<>();

        if (review == null) {
            errorList.add("Null pointer review");
        } else {

            if(review.getUser() == null){
                errorList.add("Null pointer user");
            }

            if(review.getMovie() == null){
                errorList.add("Null pointer movie");
            }

            Pattern pattern = Pattern.compile(COMMENT_PATTERN);
            Matcher matcher = pattern.matcher(review.getComment());
            if (!matcher.matches()) {
                errorList.add("Comment is not valid. It must match the pattern " + COMMENT_PATTERN);
            }

            if((review.getRating() < 0) || (review.getRating() > 100)){
                errorList.add("Rating is not valid. Expected range: 0-100");
            }

        }

        if(!errorList.isEmpty()){
            String message = "Review validation failed: \n";
            for(String err : errorList){
                message += err + "\n";
            }

            log.error(message);
            throw new ValidationMovieCatalogException(message);
        }
    }