@Override
			public EnumerablePropertySource<?> asPropertySource() {
				return new EnumerablePropertySource<BeanWrapper>(this.toString(), beanWrapper) {

					@Override
					public String[] getPropertyNames() {
						List<String> result = new ArrayList<String>();
						for (PropertyDescriptor pd : beanWrapper.getPropertyDescriptors()) {
							String name = pd.getName();
							if (beanWrapper.isReadableProperty(name) && !"class".equals(name)) {
								result.add(name);
							}
						}
						return result.toArray(new String[result.size()]);
					}

					@Override
					public Object getProperty(String name) {
						if (Arrays.asList(getPropertyNames()).contains(name)) {
							return beanWrapper.getPropertyValue(name);
						}
						else {
							return null;
						}
					}
				};
			}
Read the description from the value() attribute of the annotation on the getter.
spring-xd-module/src/main/java/org/springframework/xd/module/options/PojoModuleOptionsMetadata.java