void () { final MyElement element = createElement("<a/>"); final GenericAttributeValue<String> attr = element.getAttr(); assertSame(element.getXmlTag(), attr.getXmlTag()); assertNull(attr.getValue()); assertNull(attr.getXmlAttribute()); assertEquals(attr, element.getAttr()); attr.setValue("239"); assertEquals("239", attr.getValue()); final XmlAttribute attribute = element.getXmlTag().getAttribute("attr", null); assertSame(attribute, attr.getXmlAttribute()); assertSame(attribute, attr.getXmlElement()); assertSame(attribute, attr.ensureXmlElementExists()); assertSame(attribute.getValueElement(), attr.getXmlAttributeValue()); attr.setValue(null); assertFalse(attribute.isValid()); assertNull(element.getXmlTag().getAttributeValue("attr")); assertNull(attr.getValue()); assertNull(attr.getXmlAttribute()); }