code: private Object newArray(Object obj, XmlParser.Node node) throws NoSuchMethodException,
              ClassNotFoundException, InvocationTargetException, IllegalAccessException
      {
          // 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 if ("InetAddrPort".equals(type))
                      aClass = org.browsermob.proxy.jetty.util.InetAddrPort.class;
                  else
                      aClass = Loader.loadClass(XmlConfiguration.class, type);
              }
          }
  
          Object array = Array.newInstance(aClass, node.size());
          if (id != null) _idMap.put(id, obj);
  
          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;
      }
docs: /*
  Create a new array object.
  
  @param obj @param node @return @exception NoSuchMethodException @exception
  ClassNotFoundException @exception InvocationTargetException