@Override
    public OUT extract(Tuple in) {
        return in.getField(fieldId);
    }
@Test
    void testSingleFieldExtraction() throws InstantiationException, IllegalAccessException {
        // extract single fields
        for (int i = 0; i < Tuple.MAX_ARITY; i++) {
            Tuple current = (Tuple) CLASSES[i].newInstance();
            for (int j = 0; j < i; j++) {
                current.setField(testStrings[j], j);
            }
            for (int j = 0; j < i; j++) {
                assertThat(new FieldFromTuple<String>(j).extract(current))
                        .isEqualTo(testStrings[j]);
            }
        }
    }