nit: for loop?

```
for (Iterator<Option> iterator = options.iterator(); iterator.hasNext(); ) {
  ...
}
```

This way you don't increase the scope of the `Iterator` field.