class AppConfigServiceImpl implements AppConfigService {

    @Override
    public synchronized Map<String, String> loadPreferences() {
        try {
            if (preferences == null) {
                preferences = new HashMap<>();

                // Load preferences from all stores
                loadPreferencesFromAllStores();

                // Load system properties (only to override previously loaded preferences, if necessary)
                loadSystemProperties();

                // Perform any post-load handling of preferences
                setupSystemPropertiesInitializers();
            }
            return preferences;
        } catch (Exception e) {
            throw ExceptionUtilities.handleException(e);
        }
    }

    public  AppConfigServiceImpl();
    @Inject public  AppConfigServiceImpl(@Any Instance<ApplicationPreferencesLoader> preferencesLoaders,
                                @Any Instance<SystemPropertiesInitializer> systemPropertiesInitializers);

}