docs: @Override
      @FFDCIgnore(WSLoginFailedException.class)
      public boolean login() throws WSLoginFailedException {
          try {
              userRegistry = getUserRegistry();
              Map trustState = (Map) sharedState.get(KEY_TRUST_STATE);
              setUserNameFromDataInTrustState(trustState);
              setUpTemporarySubject();
          } catch (WSLoginFailedException e) {
              // NO FFDC: WSLoginFailedException are expected
              throw e; // no-need to wrap
          } catch (Exception e) {
              throw new WSLoginFailedException(e.getLocalizedMessage());
          }
          return true;
      }