code: @Override
      public OptionalThing<LoginManager> findLoginManager(Class<?> userBeanType) {
          final LoginManager manager;
          try {
              // login manager's implementation is basically smart deploy component
              // the component may not be initialized yet because of HotDeploy
              // so use ContainerUtil here and handle not-found exception
              manager = ContainerUtil.getComponent(LoginManager.class);
          } catch (ComponentNotFoundException ignored) {
              return handleLoginManagerNotFound(userBeanType);
          } catch (TooManyRegistrationComponentException e) {
              return handleLoginManagerTooMany(userBeanType, e);
          }
          if (userBeanType.equals(manager.getSaveKeyUserBeanType())) {
              return OptionalThing.of(manager);
          } else { // if hot deploy, only another manager might be initialized when multiple login
              return handleLoginManagerNotFound(userBeanType);
          }
      }
docs: ==============