void () { registerDomExtender(AttrDomExtender2.class); final MyElement myElement = createElement("<a attr=\"xxx\" xxx=\"zzz\" yyy=\"zzz\"/>", MyElement.class); assertUnorderedCollection(getCustomChildren(myElement), element -> { final StringBuffer stringBuffer = ((GenericAttributeValue<StringBuffer>)element).getValue(); assertEquals("zzz", stringBuffer.toString()); assertInstanceOf(((GenericAttributeValue<StringBuffer>)element).getConverter(), StringBufferConverter.class); assertNotNull(myElement.getGenericInfo().getAttributeChildDescription("xxx")); Convert convert = element.getAnnotation(Convert.class); assertNotNull(convert); assertEquals(StringBufferConverter.class, convert.value()); assertTrue(convert.soft()); }, element -> { final StringBuffer stringBuffer = ((GenericAttributeValue<StringBuffer>)element).getValue(); assertEquals("zzz", stringBuffer.toString()); assertInstanceOf(((GenericAttributeValue<StringBuffer>)element).getConverter(), StringBufferConverter.class); assertNotNull(myElement.getGenericInfo().getAttributeChildDescription("yyy")); Convert convert = element.getAnnotation(Convert.class); assertNotNull(convert); assertEquals(StringBufferConverter.class, convert.value()); assertFalse(convert.soft()); }); }