code: private Object getObjectValue(XmlNode node, String fieldName) {
          // we have to take into account the fact that fieldName will be in the lower case
          if (node != null) {
              String name = node.getName();
              switch (node.getType()) {
                  case XmlNode.ATTRIBUTE_NODE:
                      return name.equalsIgnoreCase(fieldName) ? node : null;
                  case XmlNode.ELEMENT_NODE: {
                      if (name.equalsIgnoreCase(fieldName)) {
                          return new XmlNodeArray(node.getChildren());
                      } else {
                          Map<String, XmlNode> attributes = node.getAttributes();
                          for (Map.Entry<String, XmlNode> entry : attributes.entrySet()) {
                              String attributeName = entry.getKey();
                              if (attributeName.equalsIgnoreCase(fieldName)) {
                                  return entry.getValue();
                              }
                          }
                          return null;
                      }
                  }
                  default:
                      return null;
              }
          }
          return null;
      }
docs: Returns the object value for the given VTD XML node and field name
  
  @param node
  the node
  @param fieldName
  the field name
  @return the object value for the given VTD XML node and field name