code: public static String decodePassword(@Sensitive String password) {
          String decodedPassword = null;
          // first try to decode
          if (password == null || password.isEmpty())
              return password;
  
          try {
              decodedPassword = PasswordUtil.decode(password);
  
              if (decodedPassword != null && !WSKeyStore.defaultKeyStoreWarningIssued && decodedPassword.equals(Constants.DEFAULT_KEYSTORE_PASSWORD)) {
                  Tr.warning(tc, "ssl.default.password.in.use.CWPKI0041W");
                  defaultKeyStoreWarningIssued = true;
              }
          } catch (InvalidPasswordDecodingException e) {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "Password was not decoded.");
              decodedPassword = password;
              // password is not encoded
          } catch (Exception e) {
              // password is encoded, but could not be decoded
              FFDCFilter.processException(e, WSKeyStore.class.getName(), "decodePassword");
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  Tr.debug(tc, "Exception decoding KeyStore password; " + e);
          }
          return decodedPassword;
      }
docs: *
  Decode an individual password property.
  
  @param password
  @return String