Because of `com.google.gwt.editor.client.EventDriver.setConstraintViolations(Iterable<ConstraintViolation<?>> violations)` signature. 

Consider this will not compile:

```java
Iterable<ConstraintViolation<?>> it;
Iterable<ConstraintViolation<Order>> st = Sets.newHashSet();
it = st; // does not compile, because ConstraintViolation<Order> is not a subtype of ConstraintViolation<?> .
```

Since `validator.validate(order)` returns a `Set<ConstraintViolation<Order>>`, I can't pass `violations` directly into the `setConstraintViolations` method (`Set<ConstraintViolation<Order>>` is not a subtype of `Iterable<ConstraintViolation<?>>`).

That's why I have to wrap `violations` in a `ArrayList` (since `ArrayList<ConstraintViolation<?>>` is a subtype of `Iterable<ConstraintViolation<?>>`)