docs: function initThemes() {
          var activeThemeName = settingsCache.get('active_theme'),
              self = this;
  
          debug('init themes', activeThemeName);
  
          // Register a listener for server-start to load all themes
          common.events.on('server.start', function readAllThemesOnServerStart() {
              themeLoader.loadAllThemes();
          });
  
          // Just read the active theme for now
          return themeLoader
              .loadOneTheme(activeThemeName)
              .then(function activeThemeHasLoaded(theme) {
                  // Validate
                  return validate
                      .check(theme)
                      .then(function validationSuccess(checkedTheme) {
                          if (!validate.canActivate(checkedTheme)) {
                              const checkError = new common.errors.ThemeValidationError({
                                  message: common.i18n.t('errors.middleware.themehandler.invalidTheme', {theme: activeThemeName}),
                                  errorDetails: Object.assign(
                                      _.pick(checkedTheme, ['checkedVersion', 'name', 'path', 'version']), {
                                          errors: checkedTheme.results.error
                                      }
                                  )
                              });
  
                              common.logging.error(checkError);
  
                              self.activate(theme, checkedTheme, checkError);
                          } else {
                              // CASE: inform that the theme has errors, but not fatal (theme still works)
                              if (checkedTheme.results.error.length) {
                                  common.logging.warn(new common.errors.ThemeValidationError({
                                      errorType: 'ThemeWorksButHasErrors',
                                      message: common.i18n.t('errors.middleware.themehandler.themeHasErrors', {theme: activeThemeName}),
                                      errorDetails: Object.assign(
                                          _.pick(checkedTheme, ['checkedVersion', 'name', 'path', 'version']), {
                                              errors: checkedTheme.results.error
                                          }
                                      )
                                  }));
                              }
  
                              debug('Activating theme (method A on boot)', activeThemeName);
  
                              self.activate(theme, checkedTheme);
                          }
                      });
              })
              .catch(common.errors.NotFoundError, function (err) {
                  // CASE: active theme is missing, we don't want to exit because the admin panel will still work
                  err.message = common.i18n.t('errors.middleware.themehandler.missingTheme', {theme: activeThemeName});
                  common.logging.error(err);
              })
              .catch(function (err) {
                  // CASE: theme threw an odd error, we don't want to exit because the admin panel will still work
                  // This is the absolute catch-all, at this point, we do not know what went wrong!
                  common.logging.error(err);
              });
      }