List<Object> modifedcollection = collection;
if (shouldFilter()) {
List <Object> filteredCollection = new ArrayList<Object>();
ObjectWrapperFactory wrapperFactory = new ObjectWrapperFactory(
context, var, filterFields);
WrappedBeanFilter wrappedBeanFilter = new WrappedBeanFilter(filterFields);
wrapperFactory.wrapList(modifedcollection);
for (Object object : modifedcollection) {
if(wrappedBeanFilter.accept((JavaBeanWrapper)object)) {
filteredCollection.add(object);
}
}
modifedcollection = filteredCollection;
wrapperFactory.unwrapList(modifedcollection);
}
if (shouldSort()) {
ObjectWrapperFactory wrapperFactory = new ObjectWrapperFactory(
context, var, sortFields);
WrappedBeanComparator2 wrappedBeanComparator = new WrappedBeanComparator2(
sortFields);
wrapperFactory.wrapList(modifedcollection);
Collections.sort(modifedcollection, wrappedBeanComparator);
wrapperFactory.unwrapList(modifedcollection);
}
return modifedcollection;
}