/** Proceed with the specified private key and client certificate chain. */
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2013-12-30 12:32:39.625 -0500",
     hash_original_method = "FD9D9C54290793DEF25EE96780FA43D9",
     hash_generated_method = "0D823BB8817086852D9CC56BB148DF51")
 public void proceed(PrivateKey privateKey, X509Certificate[] chain) {
   byte[] privateKeyBytes = privateKey.getEncoded();
   byte[][] chainBytes;
   try {
     chainBytes = NativeCrypto.encodeCertificates(chain);
   } catch (CertificateEncodingException e) {
     mBrowserFrame.nativeSslClientCert(mHandle, null, null);
     return;
   }
   mTable.Allow(mHostAndPort, privateKeyBytes, chainBytes);
   mBrowserFrame.nativeSslClientCert(mHandle, privateKeyBytes, chainBytes);
 }
 /** Proceed with the specified private key and client certificate chain. */
 public void proceed(PrivateKey privateKey, X509Certificate[] chain) {
   final byte[] privateKeyBytes = privateKey.getEncoded();
   final byte[][] chainBytes;
   try {
     chainBytes = NativeCrypto.encodeCertificates(chain);
     mTable.Allow(mHostAndPort, privateKeyBytes, chainBytes);
     post(
         new Runnable() {
           public void run() {
             mBrowserFrame.nativeSslClientCert(mHandle, privateKeyBytes, chainBytes);
           }
         });
   } catch (CertificateEncodingException e) {
     post(
         new Runnable() {
           public void run() {
             mBrowserFrame.nativeSslClientCert(mHandle, null, null);
             return;
           }
         });
   }
 }