code: private List<MBeanAttribute> makeCompositeAttributes(Node attr,
  			String mBeanName, String mBeanPublishName, String mBeanDMax)
  			throws XPathExpressionException {
  		List<MBeanAttribute> mbas = new Vector<MBeanAttribute>();
  		MBeanAttribute mba = null;
  		NodeList composites = getXmlNodeSet("composite", attr);
  		String name = selectParameterFromNode(attr, "name", "NULL");
  		for (int l = 0; l < composites.getLength(); l++) {
  			Node composite = composites.item(l);
  			mba = makeMBeanCompositeAttribute(composite, mBeanName,
  					mBeanPublishName, mBeanDMax, name);
  			log.finer("Attr is " + name);
  			mbas.add(mba);
  		}
  		return mbas;
  	}
docs: Makes a list of {@link MBeanAttribute} that corresponds to an <attribute>
  node that contains multiple <composite> nodes.
  
  @param attr
  the <attribute> node
  @param mBeanName
  name of the parent mbean
  @param mBeanPublishName
  publish name of the parent mbean
  @param mBeanDMax
  value of dmax specified by parent mbean
  @return list of {@link MBeanAttribute}, one for each <composite>
  @throws XPathExpressionException