public synchronized void update(String s) {
    int size = listeners.size();

    Verifier[] verifiers = VerifierFactory.getVerifiers();
    int num_of_verifiers = verifiers.length;
    cache.clear();
    for (int i = 0; i < num_of_verifiers; i++) {
      cache.add(verifiers[i].getClassName());
    }

    for (int i = 0; i < size; i++) {
      ListDataEvent e =
          new ListDataEvent(this, ListDataEvent.CONTENTS_CHANGED, 0, num_of_verifiers - 1);
      ((javax.swing.event.ListDataListener) (listeners.get(i))).contentsChanged(e);
    }
  }
 public VerifierFactoryListModel() {
   VerifierFactory.attach(this);
   update(null); // fill cache.
 }