docs: private String getPassword(ISecurityContext baseContext) {
          String password = null;
          IOpaqueCredentials oc = baseContext.getOpaqueCredentials();
  
          if (oc instanceof NotSoOpaqueCredentials) {
              NotSoOpaqueCredentials nsoc = (NotSoOpaqueCredentials) oc;
              password = nsoc.getCredentials();
          }
  
          // If still no password, loop through subcontexts to find cached credentials
          Enumeration en = baseContext.getSubContexts();
          while (password == null && en.hasMoreElements()) {
              ISecurityContext subContext = (ISecurityContext) en.nextElement();
              password = this.getPassword(subContext);
          }
  
          return password;
      }