assertEquals("title", constraintViolation.getPropertyPath().toString());
book.setTitle("My fault");
book.setSubtitle("confessions of a president - a book for a nice price");
constraintViolations = validator.validate(book, First.class, Second.class, Last.class);
assertEquals(1, constraintViolations.size());
constraintViolation = constraintViolations.iterator().next();
assertEquals("size must be between 0 and 30", constraintViolation.getMessage());
assertEquals(book, constraintViolation.getRootBean());
assertEquals(book.getSubtitle(), constraintViolation.getInvalidValue());