public void remove(Track track) {
   synchronized (this) {
     docElt.removeChild(track.getElement());
     tracks.remove(track);
     hash.remove(track.getKey());
   }
 }
 public void purge() {
   for (int i = tracks.size() - 1; i >= 0; i--) {
     Track track = (Track) tracks.elementAt(i);
     if (track.isHidden()) tracks.remove(i);
   }
 }