}
}
public WOComponent filter() {
String pageConfigurationForFiltering=(String)valueForBinding("pageConfigurationForFiltering");
QueryPageInterface qpi;
if(pageConfigurationForFiltering!=null) {
qpi = (QueryPageInterface)D2W.factory().pageForConfigurationNamed(pageConfigurationForFiltering, session());
} else {
String entityName = (String)valueForBinding("entityName");
if(entityName == null && d2wContext() != null) {
entityName = d2wContext().entity().name();
}
if(entityName == null)
throw new IllegalStateException("entityName or d2wContext can't both be null.");
qpi = D2W.factory().queryPageForEntityNamed(entityName, session());
}
qpi.setNextPageDelegate(new _FilterDelegate(context().page(), displayGroup()));
D2WContext d2wContext = (D2WContext)((WOComponent)qpi).valueForKey("d2wContext");
d2wContext.takeValueForKey("filter", "subTask");
return (WOComponent)qpi;
}