docs: @Override
      public Map<String, String> getUserInfo(PortletRequest request, PortletWindow portletWindow)
              throws PortletContainerException {
  
          Map<String, String> userInfo = new HashMap<String, String>();
  
          // check to see if a password is expected by this portlet
          if (isPasswordRequested(request, portletWindow)) {
  
              log.debug(
                      "Portlet named {} wants a password",
                      portletWindow.getPortletDefinition().getPortletName());
  
              final HttpServletRequest httpServletRequest =
                      this.portalRequestUtils.getPortletHttpRequest(request);
              final IUserInstance userInstance =
                      userInstanceManager.getUserInstance(httpServletRequest);
              final IPerson person = userInstance.getPerson();
              final ISecurityContext context = person.getSecurityContext();
  
              // if it is, attempt to request a password
              String password = getPassword(context);
              log.debug(password != null ? "Have a non-null password" : "password was null");
              if (this.decryptPassword && password != null) {
                  log.debug("Attempting to decrypt password");
                  password = stringEncryptionService.decrypt(password);
                  log.debug(
                          "Password decryption complete, password is length {}",
                          password != null ? password.length() : "is null");
              }
              if (password != null) {
                  userInfo.put(this.passwordKey, password);
                  log.debug(
                          "Found password with length {} for portlet name {}",
                          password.length() != 0 ? "non-zero" : 0,
                          portletWindow.getPortletDefinition().getPortletName());
              }
          }
          return userInfo;
      }