* <p>If the reference has been collected, this method will recreate the underlying introspector.</p>
* @return the introspector
*/
// CSOFF: DoubleCheckedLocking
protected final IntrospectorBase base() {
IntrospectorBase intro = ref.get();
if (intro == null) {
// double checked locking is ok (fixed by Java 5 memory model).
synchronized(this) {
intro = ref.get();
if (intro == null) {
intro = new IntrospectorBase(rlog);
ref = new SoftReference<IntrospectorBase>(intro);
}
}
}
return intro;