w.writeTag(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "drilldown-profiles", rootList, XmlWriter.OPEN);
final Object[] objects = drillDownProfiles.toArray();
for (int i = 0; i < objects.length; i++)
{
final DrillDownProfile object = (DrillDownProfile) objects[i];
final AttributeList profileAttrs = new AttributeList();
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "name", object.getName());
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "class", object.getLinkCustomizerType().getName());
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "bundle-name", object.getBundleLocation());
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "expert", String.valueOf(object.isExpert()));
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "hidden", String.valueOf(object.isHidden()));
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "deprecated", String.valueOf(object.isDeprecated()));
profileAttrs.setAttribute(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "preferred", String.valueOf(object.isPreferred()));
w.writeTag(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "drilldown-profile", profileAttrs, XmlWriter.OPEN);
final String[] attrNames = object.getAttributes();
for (int j = 0; j < attrNames.length; j++)
{
final String attrName = attrNames[j];
final String attrValue = object.getAttribute(attrName);
w.writeTag(DrillDownModule.DRILLDOWN_PROFILE_NAMESPACE, "attribute", "name", attrName, XmlWriter.OPEN);
w.writeTextNormalized(attrValue, false);
w.writeCloseTag();
}