anchor.diff:  
       if( resource != null ){
           ValueMap widgetProps = resource.getValueMap();
  +
  +        final String displayProperty = widgetProps.get( "displayProperty", new String() );
   
           String[] predicates = widgetProps.get( "predicates", new String[0] );
   
  
positive.code: <%@ page import="com.adobe.granite.ui.components.ds.DataSource" %>
  <%@ page import="com.adobe.granite.ui.components.ds.SimpleDataSource" %>
  <%@ page import="com.adobe.granite.ui.components.ds.ValueMapResource" %>
  <%@ page import="com.day.cq.search.PredicateGroup" %>
  <%@ page import="com.day.cq.search.Query" %>
  
negative.code:                 public Object transform(Object input) {
                      try {
                          Resource item = (Resource) input;
                          ValueMap valueMap = item.getValueMap();
  
                          String value = item.getPath();
                          String text = value;
  
                          if( StringUtils.isNotEmpty( displayProperty ) && valueMap.containsKey( displayProperty )){
                              text = valueMap.get( displayProperty, value );
                          }
  
                          ValueMap vm = new ValueMapDecorator(new HashMap<String, Object>());
                          vm.put("text", text);
                          vm.put("value", value);
                          vm.put("canDelete", true);
  
                          return new ValueMapResource(resolver, path, "nt:unstructured", vm);
  