/** * {@inheritDoc} */ public NonstopStore resolveTimeoutBehaviorStore() { final TimeoutBehaviorType timeoutBehaviorType = nonstopConfig.getTimeoutBehavior().getTimeoutBehaviorType(); NonstopStore timeoutStore = timeoutBehaviors.get(timeoutBehaviorType); if (timeoutStore == null) { timeoutStore = nonstopConfig.getTimeoutBehavior().getNonstopTimeoutBehaviorFactory() .createNonstopTimeoutBehaviorStore(nonstopActiveDelegateHolder); NonstopStore prev = timeoutBehaviors.putIfAbsent(timeoutBehaviorType, timeoutStore); if (prev != null) { timeoutStore = prev; } } return timeoutStore; }