code: protected char[] getPasswordFromCredentialProviders(String name)
        throws IOException {
      char[] pass = null;
      try {
        List<CredentialProvider> providers =
            CredentialProviderFactory.getProviders(this);
  
        if (providers != null) {
          for (CredentialProvider provider : providers) {
            try {
              CredentialEntry entry = provider.getCredentialEntry(name);
              if (entry != null) {
                pass = entry.getCredential();
                break;
              }
            }
            catch (IOException ioe) {
              throw new IOException("Can't get key " + name + " from key provider" +
              		"of type: " + provider.getClass().getName() + ".", ioe);
            }
          }
        }
      }
      catch (IOException ioe) {
        throw new IOException("Configuration problem with provider path.", ioe);
      }
  
      return pass;
    }
docs: Try and resolve the provided element name as a credential provider
  alias.
  @param name alias of the provisioned credential
  @return password or null if not found
  @throws IOException