} else { warnings.push("WARN: Unsupported attribute '"+n.getNodeName()+"' on <"+node.getNodeName()+">");
    private Object unmarshalClass(Class reflector, Node node)        throws InstantiationException, IllegalAccessException,               InvocationTargetException {        Constructor cons = null;        try {            cons = reflector.getConstructor(null);        } catch (SecurityException e1) {            e1.printStackTrace();        } catch (NoSuchMethodException e1) {            e1.printStackTrace();            return null;        }        Object o = cons.newInstance(null);        Node n;        Method[] methods = reflector.getMethods();        NamedNodeMap nnm = node.getAttributes();        if (nnm != null) {            for (int i = 0; i < nnm.getLength(); i++) {                n = nnm.item(i);                try {                    int j = reflectFindMethodByName(reflector,                            "set" + n.getNodeName());                    if (j >= 0) {                        reflectInvokeMethod(o,methods[j],                                new String [] {n.getNodeValue()});                    }                } catch (Exception e) {                    e.printStackTrace();                }            }        }        return o;    }