For all these possible NPEs, we have considered checking for null every time we call getServer(String name), or event.getProvider() for example (or maybe you had another method in mind to avoid NPEs?) . But is that always necessary? 

One situation we can think of where getServer(String name) returns null is when the server name gets changed, but then won't it be the responsibility of the "rename()" method to properly handle it, by changing the provider's name, GerritTrigger's selectedServer..etc?
In this case, if a NPE still occurs, it will be a specific bug that needs to be fixed.

Please let us know what you think about that. Thanks!