void (final Element element, final PropertiesProvider provider) { if (provider == null) { // do not read properties return; } Element propertiesElement = LwXmlReader.getChild(element, UIFormXmlConstants.ELEMENT_PROPERTIES); if(propertiesElement == null){ propertiesElement = new Element(UIFormXmlConstants.ELEMENT_PROPERTIES, element.getNamespace()); } final HashMap name2property = provider.getLwProperties(getComponentClassName()); if (name2property == null) { myErrorComponentProperties = propertiesElement.clone(); return; } final List<Element> propertyElements = propertiesElement.getChildren(); for (Element t : propertyElements) { final String name = t.getName(); final LwIntrospectedProperty property = (LwIntrospectedProperty)name2property.get(name); if (property == null){ continue; } try { final Object value = property.read(t); setPropertyValue(property, value); } catch (final Exception exc) { // Skip non readable properties } } readClientProperties(element); }