Fixing protocol equals and making sure exceptions on index are always lo...

...gged
In practical terms, as Gustavo said, it can catch the wrong NPE.
Also, catching an exception is performance-wise worse than comparing with null.
In theoretical terms, i like the principle of not using Exceptions for control flow. If there is a way to test something for nullability, it better to use it.