if (q.getSortBy() != null && q.getSortBy().length > 0) {
Feature[] features = (Feature[]) records.toArray(new Feature[records.size()]);
Comparator<Feature> comparator = ComplexComparatorFactory.buildComparator(q.getSortBy());
Arrays.sort(features, comparator);
records = new MemoryFeatureCollection(records.getSchema(), Arrays.asList(features));
}
// max features
if (q.getMaxFeatures() < Query.DEFAULT_MAX) {
records = new MaxFeaturesFeatureCollection<FeatureType, Feature>(records,