Object project(JetSqlRow values) {
        Row row = values.getRow();
        target.init();
        for (int i = 0; i < injectors.length; i++) {
            Object projected = evaluate(projection.get(i), row, evalContext);
            Object value = getToConverter(types[i]).convert(projected);
            injectors[i].set(value);
        }
        return target.conclude();
    }
@Test
    public void test_project() {
        Projector projector = new Projector(
                new QueryPath[]{QueryPath.create("this.field")},
                new QueryDataType[]{QueryDataType.BIGINT},
                new MultiplyingTarget(),
                singletonList(CastExpression.create(ColumnExpression.create(0, QueryDataType.INT), QueryDataType.BIGINT)),
                mock(ExpressionEvalContext.class)
        );

        Object value = projector.project(new JetSqlRow(TEST_SS, new Object[]{1}));

        assertThat(value).isEqualTo(2L);
    }