code: private Collection getInValuesCollection(Expression inClauseValues)
      {
          Collection inParameterCollection = new ArrayList<>();
          if (inClauseValues instanceof NullExpression)
          {
              log.debug("No items passed in IN clause values, returning blank IN values list");
              return inParameterCollection;
          }
  
          if (inClauseValues instanceof InputParameter)
          {
              Object inValues = kunderaQuery.getParametersMap().get(inClauseValues.toParsedText());
              log.debug(inClauseValues.toParsedText() + "named parameter found in query, Replacing parameter with "
                      + inValues);
  
              inParameterCollection = inValues.getClass().isArray() ? Arrays.asList((Object[]) inValues)
                      : (Collection) kunderaQuery.getParametersMap().get(inClauseValues.toParsedText());
  
              return inParameterCollection;
          }
  
          if (inClauseValues instanceof CollectionExpression)
          {
              Iterator inValueIterator = ((CollectionExpression) inClauseValues).children().iterator();
  
              log.debug("Collection object found for IN clause values");
              while (inValueIterator.hasNext())
              {
                  Expression value = (Expression) inValueIterator.next();
                  inParameterCollection.add(value.toParsedText());
              }
              return inParameterCollection;
          }
  
          throw new KunderaException(inClauseValues.toParsedText() + " not supported for IN clause");
      }
docs: Returns the collection of IN clause values.
  
  @param inClauseValues
  the in clause values
  @return the in values collection