class InMemoryQueryEngine implements QueryEngine<T> {

    @Override
    public List<T> query( Query query )
    {
        validateQuery( query );
        List<T> list = runQuery( query );
        list = runSorter( query, list );

        return PagerUtils.pageCollection( list, query.getFirstResult(), query.getMaxResults() );
    }

    @Autowired public  InMemoryQueryEngine( SchemaService schemaService, AclService aclService, CurrentUserService currentUserService );

}