docs: private Pair<List<BooleanExpression>, Optional<BooleanExpression>> extractWhereConditions(SelectQueryAware selectQueryAware) {
          
          List<BooleanExpression> whereConditions = new ArrayList<>();
          Optional<BooleanExpression> whereExpressionCandidate = selectQueryAware.getWhereExpression();
          if (whereExpressionCandidate.isPresent()) {
              whereConditions.add(whereExpressionCandidate.get());
          }
          
          boolean noGroupByTaskExists = selectQueryAware.getGroupByExpressions().isEmpty();
          Optional<BooleanExpression> havingExpressionCandidate = selectQueryAware.getHavingExpression();
          if (havingExpressionCandidate.isPresent() && noGroupByTaskExists) {
              whereConditions.add(havingExpressionCandidate.get());
              return new Pair<>(whereConditions, Optional.empty());
          } else {
              return new Pair<>(whereConditions, havingExpressionCandidate);
          }
      }