private static void btxToXML_help(BTXParser in, XMLEventFactory ev, XMLEventWriter out)
			throws IOException, XMLStreamException {
		in.next(); // START_OBJECT
		ParseEventData d = in.getEventData();
		if (d.objName.equals("<t")) {
			// Special for text type!
			// Single unnamed attribute for the text
			in.next(); // ATTRIBUTE
			out.add(ev.createCData(in.getEventData().getAttribute().asString()));
			in.next(); // END_OBJECT
			return;
		}
		int atCount = d.getRemainingAttributes();
		Iterator<Attribute> theAttrs;
		if (atCount == 0) {
			theAttrs = null;
		} else {
			ArrayList<Attribute> attrs = new ArrayList<>(d.getRemainingAttributes());
			do {
				in.next(); // ATTRIBUTE
				BTXAttribute attr = in.getEventData().getAttribute();
				attrs.add(ev.createAttribute(attr.getName(), attr.asString()));
				atCount--;
			} while (atCount > 0);
			theAttrs = attrs.iterator();
		}
		QName objName = new QName(d.objName);
		out.add(ev.createStartElement(objName, theAttrs, null));
		atCount = d.getRemainingChildren();
		while (atCount > 0) {
			atCount--;
			btxToXML_help(in, ev, out);
		}
		out.add(ev.createEndElement(objName, null));
		in.next(); // END_OBJECT
	}