private static boolean isMultiDirectionCollation(Query query) {
    final long directionCount = query.collations().stream()
            .map(Collation::direction)
            .distinct()
            .limit(Ordering.Direction.values().length)
            .count();
    return directionCount > 1;
  }
Don't generate queries with bind variables, use literals instead (careful with OQL injection)
criteria/geode/src/org/immutables/criteria/geode/OqlGenerator.java