private static void findUiBundleFields(HashMap<String, String> uiFields, NodeList childNodes,
      String binderPrefix) {
    for (int n = 0; n < childNodes.getLength(); n++) {
      Node item = childNodes.item(n);
      if (item.getNodeType() == Node.ELEMENT_NODE) {
        Element element = (Element) item;

        String field = element.getAttribute("field");
        String namespace = element.getAttribute("type");

        String name = item.getNodeName();
        if (name.startsWith(binderPrefix)) {
          name = name.substring(binderPrefix.length() + 1);
          if (name.equals("style")) {
            if (field.isEmpty()) {
              field = "style";
            }

            if (namespace.isEmpty()) {
              namespace = "com.google.gwt.resources.client.CssResource";
            }
          } else if (name.equals("image")) {
            namespace = "com.google.gwt.resources.client.ImageResource";
          } else if (name.equals("data")) {
            namespace = "com.google.gwt.resources.client.DataResource";
          }
          uiFields.put(field, namespace);
        }
      }
    }
  }