At the risk of being boring and old skool...
```
public boolean apply(Firewall fw) {
  for (Rule rule : fw.getAllowed()) {
    if (rule.getIpProtocol().equals(protocol)) {
      return true;
    }
  }
  return false;
}
```
?