code: public String findFieldName(String name, AcroFields af) {
          HashMap items = af.getFields();
          if (items.containsKey(name))
              return name;
          if (acroFieldsSom == null) {
          	if (items.isEmpty() && xfaPresent)
          		acroFieldsSom = new AcroFieldsSearch(datasetsSom.getName2Node().keySet());
          	else
          		acroFieldsSom = new AcroFieldsSearch(items.keySet());
          }
          if (acroFieldsSom.getAcroShort2LongName().containsKey(name))
              return (String)acroFieldsSom.getAcroShort2LongName().get(name);
          return acroFieldsSom.inverseSearchGlobal(Xml2Som.splitParts(name));
      }
docs: Finds the complete field name contained in the "classic" forms from a partial
  name.
  @param name the complete or partial name
  @param af the fields
  @return the complete name or <CODE>null</CODE> if not found