if (v != null) Array.set(array, i, v); if (id != null) _idMap.put(id, v);
al=LazyList.add(al,(v==null&&aClass.isPrimitive())?ZERO:v); if (nid != null) _idMap.put(nid, v);
    private Object newArray(Object obj, XmlParser.Node node) throws Exception    {        // Get the type        Class aClass = java.lang.Object.class;        String type = node.getAttribute("type");        String id = node.getAttribute("id");        if (type != null)        {            aClass = TypeUtil.fromName(type);            if (aClass == null)            {                if ("String".equals(type))                    aClass = java.lang.String.class;                else if ("URL".equals(type))                    aClass = java.net.URL.class;                else if ("InetAddress".equals(type))                    aClass = java.net.InetAddress.class;                else                    aClass = Loader.loadClass(XmlConfiguration.class, type,true);            }        }        Object array = Array.newInstance(aClass, node.size());        if (id != null) _idMap.put(id, array);        for (int i = 0; i < node.size(); i++)        {            Object o = node.get(i);            if (o instanceof String) continue;            XmlParser.Node item = (XmlParser.Node) o;            if (!item.getTag().equals("Item")) throw new IllegalStateException("Not an Item");            id = item.getAttribute("id");            Object v = value(obj, item);            if (v != null) Array.set(array, i, v);            if (id != null) _idMap.put(id, v);        }        return array;    }