Source:
private Element createPropertiesElement(List<PropertyDescriptor<?>> propertyDescriptors, Map<PropertyDescriptor<?>, Object> propertiesByPropertyDescriptor) { Element propertiesElement = null; if (propertyDescriptors != null) { for (PropertyDescriptor<?> propertyDescriptor : propertyDescriptors) { if (propertyDescriptor instanceof PropertyDescriptorWrapper) { if (propertiesElement == null) { propertiesElement = createPropertiesElement(); } Element propertyElement = createPropertyDefinitionElementBR( ((PropertyDescriptorWrapper<?>) propertyDescriptor).getPropertyDescriptor()); propertiesElement.appendChild(propertyElement); } else { if (propertiesByPropertyDescriptor != null) { Object defaultValue = propertyDescriptor.defaultValue(); Object value = propertiesByPropertyDescriptor.get(propertyDescriptor); if (value != defaultValue && (value == null || !value.equals(defaultValue))) { if (propertiesElement == null) { propertiesElement = createPropertiesElement(); } Element propertyElement = createPropertyValueElement(propertyDescriptor, value); propertiesElement.appendChild(propertyElement); } } } } } if (propertiesByPropertyDescriptor != null) { for (Map.Entry<PropertyDescriptor<?>, Object> entry : propertiesByPropertyDescriptor.entrySet()) { PropertyDescriptor<?> propertyDescriptor = entry.getKey(); if (!propertyDescriptors.contains(propertyDescriptor)) { Object defaultValue = propertyDescriptor.defaultValue(); Object value = entry.getValue(); if (value != defaultValue && (value == null || !value.equals(defaultValue))) { if (propertiesElement == null) { propertiesElement = createPropertiesElement(); } Element propertyElement = createPropertyValueElement(propertyDescriptor, value); propertiesElement.appendChild(propertyElement); } } } } return propertiesElement; }

Target:
private Element createPropertiesElement(List<PropertyDescriptor<?>> propertyDescriptors, Map<PropertyDescriptor<?>, Object> propertiesByPropertyDescriptor) { Element propertiesElement = null; if (propertyDescriptors != null) { for (PropertyDescriptor<?> propertyDescriptor : propertyDescriptors) { if (propertyDescriptor.isDefinedExternally()) { if (propertiesElement == null) { propertiesElement = createPropertiesElement(); } Element propertyElement = createPropertyDefinitionElementBR(propertyDescriptor); propertiesElement.appendChild(propertyElement); } else { if (propertiesByPropertyDescriptor != null) { Object defaultValue = propertyDescriptor.defaultValue(); Object value = propertiesByPropertyDescriptor.get(propertyDescriptor); if (value != defaultValue && (value == null || !value.equals(defaultValue))) { if (propertiesElement == null) { propertiesElement = createPropertiesElement(); } Element propertyElement = createPropertyValueElement(propertyDescriptor, value); propertiesElement.appendChild(propertyElement); } } } } } if (propertiesByPropertyDescriptor != null) { for (Map.Entry<PropertyDescriptor<?>, Object> entry : propertiesByPropertyDescriptor.entrySet()) { PropertyDescriptor<?> propertyDescriptor = entry.getKey(); if (!propertyDescriptors.contains(propertyDescriptor)) { Object defaultValue = propertyDescriptor.defaultValue(); Object value = entry.getValue(); if (value != defaultValue && (value == null || !value.equals(defaultValue))) { if (propertiesElement == null) { propertiesElement = createPropertiesElement(); } Element propertyElement = createPropertyValueElement(propertyDescriptor, value); propertiesElement.appendChild(propertyElement); } } } } return propertiesElement; }