code: public final void init(KeyManager[] km, TrustManager[] tm,
                                  SecureRandom random)
          throws KeyManagementException {
          contextSpi.engineInit(km, tm, random);
      }
docs: Initializes this context. Either of the first two parameters
  may be null in which case the installed security providers will
  be searched for the highest priority implementation of the
  appropriate factory. Likewise, the secure random parameter may
  be null in which case the default implementation will be used.
  <P>
  Only the first instance of a particular key and/or trust manager
  implementation type in the array is used.  (For example, only
  the first javax.net.ssl.X509KeyManager in the array will be used.)
  
  @param km the sources of authentication keys or null
  @param tm the sources of peer authentication trust decisions or null
  @param random the source of randomness for this generator or null
  @throws KeyManagementException if this operation fails