code: protected Object parseKeyElement(Element keyEle, BeanDefinition bd, String defaultKeyTypeName) {
      NodeList nl = keyEle.getChildNodes();
      Element subElement = null;
      for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (node instanceof Element) {
          // Child element is what we're looking for.
          if (subElement != null)
            error("<key> element must not contain more than one value sub-element", keyEle);
          else subElement = (Element) node;
        }
      }
      return parsePropertySubElement(subElement, bd, defaultKeyTypeName);
    }
docs: Parse a key sub-element of a map element.
  
  @param keyEle a {@link org.w3c.dom.Element} object.
  @param bd a {@link org.springframework.beans.factory.config.BeanDefinition} object.
  @param defaultKeyTypeName a {@link java.lang.String} object.
  @return a {@link java.lang.Object} object.