private QueryMetadata uniqueProjection(
     Expression<?> first, Expression<?> second, Expression<?>[] rest) {
   QueryMetadata metadata = projection(first, second, rest);
   metadata.setUnique(true);
   return metadata;
 }
 private QueryMetadata uniqueProjection(Expression<?>... projection) {
   QueryMetadata metadata = projection(projection);
   metadata.setUnique(true);
   return metadata;
 }