public static void initialize() { if (!StocksManager.HasStocks()) { throw new noStocksException(); } lock (initLockObject) { bool updateScenariosSummary = false; if (dal.isTableEmpty(scenariosTable)) { initScenariosInDB(); updateScenariosSummary = true; } initScenarios(); if (updateScenariosSummary || dal.isTableEmpty(scenariosSummaryTable)) { initScenariosSummary(); } } }