docs: protected boolean userAcceptedPrompt(X509Certificate[] chain)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.entry(tc, "userAcceptedPrompt");
          boolean accepted = false;
          try
          {
              stdout.println("");
              stdout.println(TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0100I", "*** SSL SIGNER EXCHANGE PROMPT ***"));
              stdout.println(TraceNLSHelper.getInstance().getFormattedMessage("ssl.trustmanager.signer.prompt.CWPKI0101I",
                                                                              new Object[] { tsFile },
                                                                              "SSL signer from target host is not found in trust store "
                                                                                              + tsFile
                                                                                              + ".\n\nHere's the signer information (verify the digest value matches what is displayed at the server):"));
              for (int j = 0; j < chain.length; j++) {
                  stdout.println("");
                  String shaDigest = KeyStoreManager.getInstance().generateDigest("SHA-1", chain[j]);
                  stdout.println(TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0102I", "  Subject DN:    ")
                                 + chain[j].getSubjectDN());
                  stdout.println(TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0103I", "  Issuer DN:     ")
                                 + chain[j].getIssuerDN());
                  stdout.println(TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0104I", "  Serial number: ")
                                 + chain[j].getSerialNumber());
                  stdout.println(TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0109I", "  Expires: ") + chain[j].getNotAfter());
                  stdout.println(TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0105I", "  SHA-1 digest:  ") + shaDigest);
                  stdout.println("");
              }
  
              // ask the user if they want the certificate added to the truststore
              String prompt = TraceNLSHelper.getInstance().getString("ssl.trustmanager.signer.prompt.CWPKI0107I", "Add signer to the trust store now? (y/n) ");
  
              String answer = stdin.readText(prompt);
              if (answer != null)
                  answer = answer.trim().toLowerCase();
  
              if (isYes(answer)) {
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "User accepted the certificate, certificate added to the truststore.");
                  accepted = true;
              }
              else {
                  // don't trust the certificate
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "User did not accept the certificate so do not store it to the truststore.");
              }
  
          } catch (Exception ex)
          {
              if (tc.isDebugEnabled())
                  Tr.debug(tc, "Received the following while prompting user.", new Object[] { ex });
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              Tr.exit(tc, "userAcceptedPrompt", accepted);
          return accepted;
      }