private void testType(Type type, ValidationExceptionHandler<R> handler, Location l) {
if (type instanceof Composite) {
Type[] components = ((Composite) type).getComponents();
for (int comp = 0; comp < components.length; comp++) {
Location location = new Location(l);
location.setComponent(comp + 1);
testComponent(components[comp], handler, location);
}
} else if (type instanceof Varies) {
testType(((Varies) type).getData(), handler, l);
} else {