question: @ Override public List < Object > visitValues ( Values values , QueryState state ) { List < Object > result = new ArrayList < Object > ( ) ; for ( Expression rowExpression : values . getRows ( ) ) { if ( rowExpression instanceof Row ) { Row row = ( Row ) rowExpression ; for ( Expression rowValue : row . getItems ( ) ) { if ( ! ( rowValue instanceof Literal ) ) { state . addException ( "Unable to parse non-literal value : " + rowValue ) ; return result ; } result . add ( getObject ( ( Literal ) rowValue ) ) ; } } else if ( rowExpression instanceof Literal ) { result . add ( getObject ( ( Literal ) rowExpression ) ) ; } else { state . addException ( "Unknown VALUES type " + rowExpression . getClass ( ) + " encountered" ) ; return null ; } } return result ; }
target:  Parses the list with values to insert and returns them as Objects