@Override public void apply() throws ConfigurationException { List<X509Certificate> existing = myTrustManager.getCertificates(); Set<X509Certificate> added = new HashSet<X509Certificate>(myCertificates); added.removeAll(existing); Set<X509Certificate> removed = new HashSet<X509Certificate>(existing); removed.removeAll(myCertificates); for (X509Certificate certificate : added) { if (!myTrustManager.addCertificate(certificate)) { throw new ConfigurationException( "Cannot add certificate for " + getCommonName(certificate), "Cannot Add Certificate"); } } for (X509Certificate certificate : removed) { if (!myTrustManager.removeCertificate(certificate)) { throw new ConfigurationException( "Cannot remove certificate for " + getCommonName(certificate), "Cannot Remove Certificate"); } } CertificateManager.Config state = CertificateManager.getInstance().getState(); state.ACCEPT_AUTOMATICALLY = myAcceptAutomatically.isSelected(); state.CHECK_HOSTNAME = myCheckHostname.isSelected(); state.CHECK_VALIDITY = myCheckValidityPeriod.isSelected(); }