/** Cancel this request, remember the users negative choice. */
 @DSGenerator(
     tool_name = "Doppelganger",
     tool_version = "2.0",
     generated_on = "2013-12-30 12:32:39.630 -0500",
     hash_original_method = "E250E51CEC55FC558312A1D8553D2784",
     hash_generated_method = "16E4B6B0FCD735FE4AE16227A8A11C24")
 public void cancel() {
   mTable.Deny(mHostAndPort);
   mBrowserFrame.nativeSslClientCert(mHandle, null, null);
 }
 /** 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);
 }