/* */ protected Document parseDocument()
/* */ throws DocumentException, IOException, XmlPullParserException
/* */ {
/* 360 */ Document document = getDocumentFactory().createDocument();
/* 361 */ Element parent = null;
/* 362 */ XmlPullParser parser = getXPPParser();
/* 363 */ parser.setNamespaceAware(true);
/* */
/* 365 */ ProxyXmlStartTag startTag = new ProxyXmlStartTag();
/* 366 */ XmlEndTag endTag = this.xppFactory.newEndTag();
/* */ while (true)
/* */ {
/* 369 */ int type = parser.next();
/* */
/* 371 */ switch (type) {
/* */ case 1:
/* 373 */ return document;
/* */ case 2:
/* 376 */ parser.readStartTag(startTag);
/* */
/* 378 */ Element newElement = startTag.getElement();
/* */
/* 380 */ if (parent != null)
/* 381 */ parent.add(newElement);
/* */ else {
/* 383 */ document.add(newElement);
/* */ }
/* */
/* 386 */ parent = newElement;
/* */
/* 388 */ break;
/* */ case 3:
/* 392 */ parser.readEndTag(endTag);
/* */
/* 394 */ if (parent == null) break;
/* 395 */ parent = parent.getParent(); break;
/* */ case 4:
/* 402 */ String text = parser.readContent();
/* */
/* 404 */ if (parent != null) {
/* 405 */ parent.addText(text);
/* */ } else {
/* 407 */ String msg = "Cannot have text content outside of the root document";