class CertificationRevocationListImpl implements CertificationRevocationList {

  public boolean isOnCRL(X509Certificate x509CertificateToCheck)
  {
    CertificationRevocationListImpl crlInt = CertificationRevocationListImpl.getInstance();
    List<String> urls = CertificationRevocationListImpl.getCrlDistributionPoints(x509CertificateToCheck);
    X509CRL x509CRL;
    for ( String url : urls )
    {
      x509CRL = crlInt.getX509CRL(url);

      if (x509CRL == null || x509CRL.isRevoked(x509CertificateToCheck))
      {
        log.debug("Certificate {} has been revoked!", x509CertificateToCheck.getSubjectDN().getName());
        return true;
      }
    }
    return false;
  }

  private  CertificationRevocationListImpl(Set<X509Certificate> masterList,
                                          X509Certificate cscaRootCertificate,
                                          CrlFetcher crlFetcher);

}