@Override
   public LauncherAction createActionFromDataElement(Element element) {
      
      if(element == null) return null;
            
      AppletDesc desc = new AppletDesc();
      initNameAndId(desc, element);
      
      //Use Browser
      if(element.getAttribute("use-browser").equals("true")) {
         desc.setUseWebBrowser(true);
      }
      else {
         desc.setUseWebBrowser(false);
      }
      
      //Separate VM
      if(element.getAttribute("separate-vm").equals("true")) {
         desc.setSeperateVM(true);
      }
      else {
         desc.setSeperateVM(false);
      }
      
      //Address
      String address = element.getAttribute("address");
      if(address != null && !address.equals("")) {
         try {
            desc.setDocumentURL(new URL(address));
         } catch(MalformedURLException badURL) {
            logger.log(Level.WARNING, badURL.getMessage(), badURL);
         }
      }
      
      //Custom info
      org.w3c.dom.NodeList children = element.getChildNodes();
      for(int i=0;i<children.getLength();i++) {
         org.w3c.dom.Node n = children.item(i);
         if(n.getNodeType() == org.w3c.dom.Node.ELEMENT_NODE) {
            org.w3c.dom.Element appletE = (org.w3c.dom.Element)n;
            if(appletE.getTagName().equals("applet")==false)
               continue;
            
            AppletHTMLParser parser = new AppletHTMLParser();
            AppletDesc customDesc = parser.getAppletDesc(appletE, desc.getDocumentURL());
            desc.updateInfo(customDesc);
         }
      }
      
      return new AppletAction(this, desc);
   }