void () { DomFileElement<Foo> fileElement = prepare("foo.xml", Foo.class); PsiFile file = fileElement.getFile(); assertFalse(file.getNode().isParsed()); Foo foo = fileElement.getRootElement(); assertEquals("foo", foo.getId().getValue()); assertFalse(file.getNode().isParsed()); List<Bar> bars = foo.getBars(); assertFalse(file.getNode().isParsed()); final List<GenericDomValue<String>> listElements = foo.getLists(); final GenericDomValue<String> listElement0 = listElements.get(0); assertEquals("list0", listElement0.getValue()); final GenericDomValue<String> listElement1 = listElements.get(1); assertEquals("list1", listElement1.getValue()); assertFalse(file.getNode().isParsed()); assertEquals(2, bars.size()); Bar bar = bars.get(0); String value = bar.getString().getStringValue(); assertEquals("xxx", value); Object o = bar.getString().getValue(); assertEquals("xxx", o); Integer integer = bar.getInt().getValue(); assertEquals(666, integer.intValue()); assertFalse(file.getNode().isParsed()); Bar emptyBar = bars.get(1); GenericAttributeValue<String> string = emptyBar.getString(); assertNull(string.getXmlElement()); assertFalse(file.getNode().isParsed()); }