code: public List<Object> getClauseValue(Parameter param) {
          Parameter match = null;
          if (typedParameter != null && typedParameter.jpaParameters != null) {
              for (Parameter p : typedParameter.jpaParameters) {
                  if (p.equals(param)) {
                      match = p;
                      if (typedParameter.getType().equals(Type.NAMED)) {
                          List<FilterClause> clauses = typedParameter.getParameters().get(":" + p.getName());
                          if (clauses != null) {
                              return clauses.get(0).getValue();
                          }
                      } else {
                          List<FilterClause> clauses = typedParameter.getParameters().get("?" + p.getPosition());
                          if (clauses != null) {
                              return clauses.get(0).getValue();
                          } else {
                              UpdateClause updateClause = typedParameter.getUpdateParameters().get("?" + p.getPosition());
                              if (updateClause != null) {
                                  List<Object> value = new ArrayList<Object>();
                                  value.add(updateClause.getValue());
                                  return value;
                              }
  
                          }
                      }
                      break;
                  }
              }
              if (match == null) {
                  throw new IllegalArgumentException("parameter is not a parameter of the query");
              }
          }
  
          logger.error("parameter{} is not a parameter of the query", param);
          throw new IllegalArgumentException("parameter is not a parameter of the query");
      }
docs: Returns specific clause value.
  
  @param param
  parameter
  
  @return clause value.