private Object getOrCreateInstance(Class<?> clazz) { if (mapr.instanceCache.containsKey(clazz)) return mapr.instanceCache.get(clazz); Object o = mapr.getOptions().objectFactory.createInstance(clazz); Object nullO = mapr.instanceCache.put(clazz, o); if (nullO != null) if (log.isErrorEnabled()) log.error("Race-condition, created duplicate class: " + clazz); return o; }