title: why does JcaPEMKeyConverter have a setProvider method?
body: <p>I get why <code>java.security.Security</code> has an <code>addProvider</code> method - because Java has multiple providers that can provide stuff like <code>javax.crypto.Cipher.getInstance()</code> can use (<code>sun.security.provider.Sun</code>, <code>org.bouncycastle.jce.provider.BouncyCastleProvider</code>, etc).</p>
  <p>But why does <code>org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter</code> have an <code>addProvider</code> method? Given the namespacing being used I find it hard to imagine that any &quot;provider&quot; other than BouncyCastle would provide a drop in replacement...</p>