* valiation, different groups, nested object net
*/
public void testValidAnnotation() {
Author a = new Author();
a.setAddresses(new ArrayList<Address>());
BusinessAddress adr = new BusinessAddress();
adr.setCountry(new Country());
adr.setAddressline1("line1");
adr.setAddressline2("line2");
adr.setZipCode("1234567890123456789");
a.getAddresses().add(adr);
a.setFirstName("Karl");
a.setLastName("May");
Set<ConstraintViolation<Author>> found = validator.validate(a, Default.class, First.class, Last.class);
Assert.assertTrue(!found.isEmpty());
Assert.assertEquals(4, found.size());
adr.setCity("Berlin");
adr.setZipCode("12345");
adr.setCompany("apache");
found = validator.validate(a, Default.class, First.class, Last.class);
Assert.assertEquals(1, found.size());
ConstraintViolation<Author> ic = found.iterator().next();
Assert.assertEquals("addresses[0].country.name", ic.getPropertyPath().toString());
}