IPropertyDescriptor[] descriptors = propertySource.getPropertyDescriptors();
if (descriptors != null) {
for (final IPropertyDescriptor descriptor : descriptors) {
final Object id = descriptor.getId();
String name = PropertyDescriptors.getReadablePropertyName(descriptor);
Function1 function = new Function1WithReturnType() {
@Override
public Object apply(Object object) {
if (object instanceof IPropertySource) {
IPropertySource property = (IPropertySource) object;
return property.getPropertyValue(id);