/**
  * Load the defined uninstall listener objects.
  *
  * @return a list with the defined uninstall listeners
  * @throws Exception
  */
 private List[] getListenerLists() throws Exception {
   ArrayList[] uninstaller = new ArrayList[] {new ArrayList(), new ArrayList()};
   // Load listeners if exist
   InputStream in;
   ObjectInputStream objIn;
   in = Destroyer.class.getResourceAsStream("/uninstallerListeners");
   if (in != null) {
     objIn = new ObjectInputStream(in);
     List listeners = (List) objIn.readObject();
     objIn.close();
     Iterator iter = listeners.iterator();
     while (iter != null && iter.hasNext()) {
       Class clazz = Class.forName(((String) iter.next()));
       UninstallerListener ul = (UninstallerListener) clazz.newInstance();
       if (ul.isFileListener()) uninstaller[1].add(ul);
       uninstaller[0].add(ul);
     }
   }
   return uninstaller;
 }