code: private void configure(Object obj, XmlParser.Node cfg, int i) throws ClassNotFoundException,
              NoSuchMethodException, InvocationTargetException, IllegalAccessException
      {
          XmlParser.Node node = null;
          try
          {
              for (; i < cfg.size(); i++)
              {
                  Object o = cfg.get(i);
                  if (o instanceof String) continue;
                  node = (XmlParser.Node) o;
  
                  String tag = node.getTag();
                  if ("Set".equals(tag))
                      set(obj, node);
                  else if ("Put".equals(tag))
                      put(obj, node);
                  else if ("Call".equals(tag))
                      call(obj, node);
                  else if ("Get".equals(tag))
                      get(obj, node);
                  else if ("New".equals(tag))
                      newObj(obj, node);
                  else if ("Ref".equals(tag))
                      refObj(obj, node);
                  else
                      throw new IllegalStateException("Unknown tag: " + tag);
              }
          }
          catch(InvocationTargetException e)
          {
              log.warn("Exception at "+node.toString(),e.getTargetException());
              throw e;
          }
          catch (Error e)
          {
              log.debug(node);
              throw e;
          }
          catch (Exception e)
          {
              log.debug(node);
              if (e instanceof NoSuchMethodException) throw (NoSuchMethodException) e;
              if (e instanceof InvocationTargetException) throw (InvocationTargetException) e;
              if (e instanceof IllegalAccessException) throw (IllegalAccessException) e;
              if (e instanceof RuntimeException) throw (RuntimeException) e;
          }
      }
docs: /*
  Recursive configuration step. This method applies the remaining Set, Put and Call elements to
  the current object. @param obj @param cfg @param i @exception ClassNotFoundException
  @exception NoSuchMethodException @exception InvocationTargetException