class CertificateSelector {

    public CertificateSelector<T> byPublicKeyModulus(final BigInteger publicKeyModulus) {
        Preconditions.checkArgument(
                publicKeyModulus != null,
                "Public key modulus cannot be null"
        );

        setFieldValue(
                Certificate.PUBLIC_KEY_MODULUS_FIELD,
                publicKeyModulus.toString(Certificate.HEX_BASE)
        );

        return this;
    }

    public  CertificateSelector(
            final CertificateManager certificateManager,
            final Class<T> certificateClass);
    public  CertificateSelector(
            final CertificateManager certificateManager,
            final Class<T> certificateClass, final boolean excludeArchivedCertificates);

}