public void initDone() {
    initialized = true;
    Set<SessionTrackingMode> trackingMethods = sessionTrackingModes;
    if (trackingMethods == null || trackingMethods.isEmpty()) {
      sessionConfig = sessionCookieConfig;
    } else {

      if (sessionTrackingModes.contains(SessionTrackingMode.SSL)) {
        sessionConfig = new SslSessionConfig(sessionCookieConfig);
      } else {
        if (sessionTrackingModes.contains(SessionTrackingMode.COOKIE)
            || sessionTrackingModes.contains(SessionTrackingMode.URL)) {
          sessionConfig = sessionCookieConfig;
          sessionCookieConfig.setFallback(
              new PathParameterSessionConfig(sessionCookieConfig.getName().toLowerCase()));
        } else if (sessionTrackingModes.contains(SessionTrackingMode.COOKIE)) {
          sessionConfig = sessionCookieConfig;
        } else if (sessionTrackingModes.contains(SessionTrackingMode.URL)) {
          sessionConfig =
              new PathParameterSessionConfig(sessionCookieConfig.getName().toLowerCase());
        }
      }
    }
  }