@Override
    public Collection<? extends CRL> engineGenerateCRLs(InputStream inStream) throws CRLException {
        if (inStream == null) {
            return Collections.emptyList();
        }

        try {
            return crlParser.generateItems(inStream);
        } catch (ParsingException e) {
            throw new CRLException(e);
        }
    }
The code for X509 Certificates and CRL is pretty much the same. We use
this abstract class to share the code between them. This makes it ugly,
but it's already written in this language anyway.
common/src/main/java/org/conscrypt/OpenSSLX509CertificateFactory.java