code: private Object newArray(Object obj, Element node) throws Exception {
  
  		// Get the type
  		Class<?> aClass = java.lang.Object.class;
  		String type = getAttribute(node, "type");
  		final String id = getAttribute(node, "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(DOMJettyWebXmlParser.class, type,
  							true);
  				}
  			}
  		}
  
  		List<Object> al = null;
  
  		Element[] children = getChildren(node, "Item");
  		for (Element item : children) {
  			String nid = getAttribute(item, "id");
  			Object v = value(obj, item);
  
  			if (al == null) {
  				al = new ArrayList<>();
  			}
  
  			al.add((v == null && aClass.isPrimitive()) ? ZERO : v);
  			if (nid != null) {
  				_idMap.put(nid, v);
  			}
  		}
  
  		Object array = toArray(al, aClass);
  		if (id != null) {
  			_idMap.put(id, array);
  		}
  		return array;
  	}
docs: /*
  Create a new array object.