public void testFullSectionHirarchy() {
try {
final XdocFile file = this._parseHelperExtensions.getDocFromFile((ParserTestConstants.TEST_FILE_DIR + "downToSection4Test.xdoc"));
AbstractSection _mainSection = file.getMainSection();
final Document doc = ((Document) _mainSection);
TextOrMarkup _title = doc.getTitle();
EList<EObject> _contents = _title.getContents();
int _size = _contents.size();
Assert.assertEquals(1, _size);
TextOrMarkup _title_1 = doc.getTitle();
EList<EObject> _contents_1 = _title_1.getContents();
EObject _head = IterableExtensions.<EObject>head(_contents_1);
TextPart textPart = ((TextPart) _head);
String _text = textPart.getText();
Assert.assertEquals("foo", _text);
EList<Chapter> _chapters = doc.getChapters();
int _size_1 = _chapters.size();
Assert.assertEquals(1, _size_1);
EList<Chapter> _chapters_1 = doc.getChapters();
final Chapter chapter = IterableExtensions.<Chapter>head(_chapters_1);
TextOrMarkup _title_2 = chapter.getTitle();
EList<EObject> _contents_2 = _title_2.getContents();
int _size_2 = _contents_2.size();
Assert.assertEquals(1, _size_2);
TextOrMarkup _title_3 = chapter.getTitle();
EList<EObject> _contents_3 = _title_3.getContents();
EObject _head_1 = IterableExtensions.<EObject>head(_contents_3);
textPart = ((TextPart) _head_1);
String _text_1 = textPart.getText();
Assert.assertEquals("bar", _text_1);
EList<Section> _subSections = chapter.getSubSections();
int _size_3 = _subSections.size();
Assert.assertEquals(1, _size_3);
EList<Section> _subSections_1 = chapter.getSubSections();
final Section section = IterableExtensions.<Section>head(_subSections_1);
TextOrMarkup _title_4 = section.getTitle();
EList<EObject> _contents_4 = _title_4.getContents();
int _size_4 = _contents_4.size();
Assert.assertEquals(1, _size_4);
TextOrMarkup _title_5 = section.getTitle();
EList<EObject> _contents_5 = _title_5.getContents();
EObject _head_2 = IterableExtensions.<EObject>head(_contents_5);
textPart = ((TextPart) _head_2);
String _text_2 = textPart.getText();
Assert.assertEquals("foo�", _text_2);
EList<Section2> _subSections_2 = section.getSubSections();
int _size_5 = _subSections_2.size();
Assert.assertEquals(1, _size_5);
EList<Section2> _subSections_3 = section.getSubSections();
final Section2 section2 = IterableExtensions.<Section2>head(_subSections_3);
TextOrMarkup _title_6 = section2.getTitle();
EList<EObject> _contents_6 = _title_6.getContents();
int _size_6 = _contents_6.size();
Assert.assertEquals(1, _size_6);
TextOrMarkup _title_7 = section2.getTitle();
EList<EObject> _contents_7 = _title_7.getContents();
EObject _head_3 = IterableExtensions.<EObject>head(_contents_7);
textPart = ((TextPart) _head_3);
String _text_3 = textPart.getText();
Assert.assertEquals("pilz", _text_3);
EList<Section3> _subSections_4 = section2.getSubSections();
int _size_7 = _subSections_4.size();
Assert.assertEquals(1, _size_7);
EList<Section3> _subSections_5 = section2.getSubSections();
final Section3 section3 = IterableExtensions.<Section3>head(_subSections_5);
TextOrMarkup _title_8 = section3.getTitle();
EList<EObject> _contents_8 = _title_8.getContents();
int _size_8 = _contents_8.size();
Assert.assertEquals(1, _size_8);
TextOrMarkup _title_9 = section3.getTitle();
EList<EObject> _contents_9 = _title_9.getContents();
EObject _head_4 = IterableExtensions.<EObject>head(_contents_9);
textPart = ((TextPart) _head_4);
String _text_4 = textPart.getText();
Assert.assertEquals("sna", _text_4);
EList<Section4> _subSections_6 = section3.getSubSections();
int _size_9 = _subSections_6.size();
Assert.assertEquals(1, _size_9);
EList<Section4> _subSections_7 = section3.getSubSections();
final Section4 section4 = IterableExtensions.<Section4>head(_subSections_7);
TextOrMarkup _title_10 = section4.getTitle();
EList<EObject> _contents_10 = _title_10.getContents();
int _size_10 = _contents_10.size();
Assert.assertEquals(1, _size_10);
TextOrMarkup _title_11 = section4.getTitle();
EList<EObject> _contents_11 = _title_11.getContents();
EObject _head_5 = IterableExtensions.<EObject>head(_contents_11);
textPart = ((TextPart) _head_5);
String _text_5 = textPart.getText();
Assert.assertEquals("fu", _text_5);
} catch (Throwable _e) {