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 synchronized Object getElementAt(int index) {
   return (cache.toArray())[index];
 }
 public synchronized int getSize() {
   return cache.size();
 }