private void checkServerCertPath(
                X509Certificate[] paramArrayOfX509Certificate)
                throws CertificateException {
            try {
                CertPathValidator localCertPathValidator = CertPathValidator
                        .getInstance(CertPathValidator.getDefaultType());
                CertificateFactory localCertificateFactory = CertificateFactory
                        .getInstance("X.509");
                CertPath localCertPath = localCertificateFactory
                        .generateCertPath(Arrays
                                .asList(paramArrayOfX509Certificate));
                X509Certificate[] arrayOfX509Certificate = getAcceptedIssuers();
                // if getAcceptedIssuers == null then bootstrap server
                if (arrayOfX509Certificate == null) {

                    if (!bootstrap) { // only do this check if bootstarp option
                                      // isn't active
                        String localObject = MyProxyLogon
                                .getExistingTrustRootPath();
                        if (localObject != null) {
                            throw new CertificateException(
                                    "no CA certificates found in "
                                            + localObject);
                        }
                        if (!MyProxyLogon.this.requestTrustRoots) {
                            throw new CertificateException(
                                    "no CA certificates directory found");
                        }
                    }

                    MyProxyLogon.logger
                            .info("no trusted CAs configured -- bootstrapping trust from MyProxy server");
                    arrayOfX509Certificate = new X509Certificate[1];
                    arrayOfX509Certificate[0] = paramArrayOfX509Certificate[(paramArrayOfX509Certificate.length - 1)];
                }
                Object localObject = new HashSet(arrayOfX509Certificate.length);
                for (int i = 0; i < arrayOfX509Certificate.length; i++) {
                    TrustAnchor localTrustAnchor = new TrustAnchor(
                            arrayOfX509Certificate[i], null);
                    ((Set) localObject).add(localTrustAnchor);
                }
                PKIXParameters localPKIXParameters = new PKIXParameters(
                        (Set) localObject);
                localPKIXParameters.setRevocationEnabled(false);
                localCertPathValidator.validate(localCertPath,
                        localPKIXParameters);
            } catch (CertificateException localCertificateException) {
                throw localCertificateException;
            } catch (GeneralSecurityException localGeneralSecurityException) {
                throw new CertificateException(localGeneralSecurityException);
            }
        }