code: public Object deserialize(String strWddx, boolean validate) throws ConverterException, IOException, FactoryConfigurationError {
  	try {
  	    Document doc = XMLUtil.parse(XMLUtil.toInputSource(strWddx), null, validate ? new WDDXEntityResolver() : null, false);
  
  	    // WDDX Package
  	    NodeList docChldren = doc.getChildNodes();
  	    Node wddxPacket = doc;
  	    int len = docChldren.getLength();
  	    for (int i = 0; i < len; i++) {
  		Node node = docChldren.item(i);
  		if (node.getNodeName().equalsIgnoreCase("wddxPacket")) {
  		    wddxPacket = node;
  		    break;
  		}
  	    }
  
  	    NodeList nl = wddxPacket.getChildNodes();
  	    int n = nl.getLength();
  
  	    for (int i = 0; i < n; i++) {
  		Node data = nl.item(i);
  		if (data.getNodeName().equals("data")) {
  		    NodeList list = data.getChildNodes();
  		    len = list.getLength();
  		    for (int y = 0; y < len; y++) {
  			Node node = list.item(y);
  			if (node instanceof Element) return _deserialize((Element) node);
  
  		    }
  		}
  	    }
  
  	    throw new IllegalArgumentException("Invalid WDDX Format: node 'data' not found in WDD packet");
  
  	}
  	catch (org.xml.sax.SAXException sxe) {
  	    throw new IllegalArgumentException("XML Error: " + sxe.toString());
  	}
      }
docs: deserialize a WDDX Package (XML String Representation) to a runtime object
  
  @param strWddx
  @param validate
  @return Object represent WDDX Package
  @throws ConverterException
  @throws IOException
  @throws FactoryConfigurationError