@Override
  protected void doInit(
      CallbackHandler callbackHandler, Session session, @SuppressWarnings("rawtypes") Map options)
      throws LoginException {
    super.doInit(callbackHandler, session, options);

    try {
      userManager = ((SessionImpl) session).getUserManager();
    } catch (RepositoryException e) {
      throw new LoginException("Unable to initialize LoginModule: " + e.getMessage());
    }
  }
  @Override
  public void initialize(
      Subject subject,
      CallbackHandler callbackHandler,
      Map<String, ?> sharedState,
      Map<String, ?> options) {
    if (adminId == null || SecurityConstants.ADMIN_ID.equals(adminId)) {
      try {
        adminId = getSecurityHelper().getSuperAdminId();
      } catch (RepositoryException e) {
        e.printStackTrace();
      }
    }

    super.initialize(subject, callbackHandler, sharedState, options);
  }