public Object getValue(final int index) {
        ExpressionSegment valueExpression = valueExpressions.get(index);
        if (valueExpression instanceof ParameterMarkerExpressionSegment) {
            return parameters.get(getParameterIndex((ParameterMarkerExpressionSegment) valueExpression));
        }
        if (valueExpression instanceof FunctionSegment) {
            return valueExpression;
        }
        return ((LiteralExpressionSegment) valueExpression).getLiterals();
    }
@Test
    void assertGetValueWhenLiteralExpressionSegment() {
        Object literalObject = new Object();
        Collection<ColumnAssignmentSegment> assignments = createLiteralExpressionSegment(literalObject);
        OnDuplicateUpdateContext onDuplicateUpdateContext = new OnDuplicateUpdateContext(assignments, Collections.emptyList(), 0);
        Object valueFromInsertValueContext = onDuplicateUpdateContext.getValue(0);
        assertThat(valueFromInsertValueContext, is(literalObject));
    }