while (iter.hasNext()) {
Map.Entry entry = (Map.Entry)iter.next();
ctx.startTagAttributes(m_index, getEntryElementName());
ctx.attribute(m_index, getKeyAttributeName(),
entry.getKey().toString());
ctx.closeStartContent();
if (entry.getValue() instanceof IMarshallable) {
((IMarshallable)entry.getValue()).marshal(ctx);
ctx.endTag(m_index, getEntryElementName());
} else {
throw new JiBXException("Mapped value is not marshallable");