Simplified FindBugs fix for atomic correctness (AT)

Reverted to original code + putIfAbsent.  Although atomic correctness here is not strictly necessary
(worst case would be an overwrite of a resolved class), the resolve method is synchronized and putIfAbsent
will not overwrite values for the same class/key. Added a FindBugs @SuppressWarnings annotation + doc so the fix is clear.