private void fireDirectorySelectedEvent(final File directory) {
   dirListenerList.fireEvent(
       new ListenerList.FireHandler<DirectorySelectedListener>() {
         public void fireEvent(DirectorySelectedListener listener) {
           listener.directorySelected(directory);
         }
       });
 }
 private void fireFileSelectedEvent(final File file) {
   fileListenerList.fireEvent(
       new ListenerList.FireHandler<FileSelectedListener>() {
         public void fireEvent(FileSelectedListener listener) {
           listener.fileSelected(file);
         }
       });
 }
 public void addDirectoryListener(DirectorySelectedListener listener) {
   dirListenerList.add(listener);
 }
 public void removeFileListener(FileSelectedListener listener) {
   fileListenerList.remove(listener);
 }
 public void addFileListener(FileSelectedListener listener) {
   fileListenerList.add(listener);
 }
 public void removeDirectoryListener(DirectorySelectedListener listener) {
   dirListenerList.remove(listener);
 }