When I said to return false, I thought you were referring to the isInvulnerable method.  You need to either:
1. have this do ```return e instanceof Unit```
2. move the entire player.canBeHurtBy method to here and define isInvulnerable here to be false, and then player overrides it.