code: @Override
      public Collection<CRL> engineGetCRLs(CRLSelector selector)
          throws CertStoreException
      {
          if (coll == null)
              throw new CertStoreException("Collection is null");
  
          // Tolerate a few ConcurrentModificationExceptions
          for (int c = 0; c < 10; c++) {
              try {
                  HashSet<CRL> result = new HashSet<>();
                  if (selector != null) {
                      for (Object o : coll) {
                          if ((o instanceof CRL) && selector.match((CRL) o))
                              result.add((CRL)o);
                      }
                  } else {
                      for (Object o : coll) {
                          if (o instanceof CRL)
                              result.add((CRL)o);
                      }
                  }
                  return result;
              } catch (ConcurrentModificationException e) { }
          }
          throw new ConcurrentModificationException("Too many "
              + "ConcurrentModificationExceptions");
      }
docs: Returns a <code>Collection</code> of <code>CRL</code>s that
  match the specified selector. If no <code>CRL</code>s
  match the selector, an empty <code>Collection</code> will be returned.
  
  @param selector a <code>CRLSelector</code> used to select which
  <code>CRL</code>s should be returned. Specify <code>null</code>
  to return all <code>CRL</code>s.
  @return a <code>Collection</code> of <code>CRL</code>s that
  match the specified selector
  @throws CertStoreException if an exception occurs