public <T0> DataSource<Tuple1<T0>> types(Class<T0> type0) {
        TupleTypeInfo<Tuple1<T0>> types = TupleTypeInfo.getBasicAndBasicValueTupleTypeInfo(type0);
        CsvInputFormat<Tuple1<T0>> inputFormat =
                new TupleCsvInputFormat<Tuple1<T0>>(path, types, this.includedMask);
        configureInputFormat(inputFormat);
        return new DataSource<Tuple1<T0>>(
                executionContext, inputFormat, types, Utils.getCallLocationName());
    }
@Test
    void testWithInvalidValueType1() {
        CsvReader reader = getCsvReader();
        // CsvReader doesn't support CharValue
        assertThatThrownBy(() -> reader.types(CharValue.class))
                .isInstanceOf(IllegalArgumentException.class);
    }