code: private Object get(Object obj, XmlParser.Node node) throws NoSuchMethodException,
              ClassNotFoundException, InvocationTargetException, IllegalAccessException
      {
          Class oClass = nodeClass(node);
          if (oClass != null)
              obj = null;
          else
              oClass = obj.getClass();
  
          String name = node.getAttribute("name");
          String id = node.getAttribute("id");
          if (log.isDebugEnabled()) log.debug("get " + name);
  
          try
          {
              // try calling a getXxx method.
              Method method = oClass.getMethod("get" + name.substring(0, 1).toUpperCase()
                      + name.substring(1), (java.lang.Class[]) null);
              obj = method.invoke(obj, (java.lang.Object[]) null);
              configure(obj, node, 0);
          }
          catch (NoSuchMethodException nsme)
          {
              try
              {
                  Field field = oClass.getField(name);
                  obj = field.get(obj);
                  configure(obj, node, 0);
              }
              catch (NoSuchFieldException nsfe)
              {
                  throw nsme;
              }
          }
          if (id != null) _idMap.put(id, obj);
          return obj;
      }
docs: /*
  Call a get method. Any object returned from the call is passed to the configure method to
  consume the remaining elements. @param obj @param node @return @exception
  NoSuchMethodException @exception ClassNotFoundException @exception InvocationTargetException