docs: public static void copyCriteriaNoSelection(CriteriaQuery<?> from, CriteriaQuery<?> to) {
  
          // Copy Roots
          for (Root<?> root : from.getRoots()) {
              Root<?> dest = to.from(root.getJavaType());
              dest.alias(getOrCreateAlias(root));
              copyJoins(root, dest);
          }
  
          if (from.getGroupList() != null) to.groupBy(from.getGroupList());
          to.distinct(from.isDistinct());
          if (from.getGroupRestriction() != null) to.having(from.getGroupRestriction());
          if (from.getRestriction() != null) to.where(from.getRestriction());
          if (from.getOrderList() != null) to.orderBy(from.getOrderList());
      }