If your plan is to loop over a collection: You shouldn't check for it being non-empty first.

Don't do this:

```java
if (!stuff.empty()) {
  for (Item item : stuff) {
    // ...
  }
}
```

Do this instead:

```java
for (Item item : stuff) {
  // ...
}
```

Benefits:

* Shorter
* Less nesting
* Same performance

I used to do this too at some point in the past, because I thought
this would have performance benefits, but in reality, the performance
benefit is hardly measurable and generally falls into the category
["premature optimization"](https://wiki.c2.com/?PrematureOptimization).

Even if there is a little extra code happening between the `if` and
the `for`, the performance impact needs to be significant for this to
make a difference in most cases, and it's probably not worth the
additional code convolution.
