The EnumSet.of() check is cute, but it's criminally inefficient. Simpler is to either make that enum set a constant (so we don't need an allocation every time we check this condition) or just do an or check:
```
  if ((provides.type() == SET || provides.type == SET_VALUES) ... 
```
That's my preference.