if (requestContexts == null) {
requestContexts = new ConcurrentHashMap<String, Context>();
List<Context> shutdownQueue = new ArrayList<Context>();
for (ContextFactory<Context> config : contextFactories.values()) {
Context context = config.createContext();
context.start();
requestContexts.put(context.getName(), context);
}
// initialize eager components. Note this cannot be done when we initially create each context since a component may
// contain a forward reference to a component which has not been instantiated
for (Context context : requestContexts.values()) {