I've just noticed a very dangerous detection in IDEA, any thoughts on this?
if(this.blah != null)
Blah myblah = this.blah;
if(myblah != null && xyz)
I might be mistaken, but in concurrent code, isn't it possible that this.blah becomes null right after the if check? That way you end up with myblah as null, as the second check is required. Yet IDEA will say that it's redundant and suggest it's removed.