When using this library in a highly concurrent setting - vis. Apache Spark - I'm seeing a lot of contention around this synchronisation block, specifically when called from here
It seems the synchronisation is somewhat redundant and that it can safely be removed, assuming the boolean member loaded is modified to volatile, no?
I can offer a PR if you feel like wise.