@Override
    public String toString() {
        return "CSV Input ("
                + StringUtils.showControlCharacters(String.valueOf(getFieldDelimiter()))
                + ") "
                + Arrays.toString(getFilePaths());
    }
@Test
    void testPojoTypeWithPartialFieldInCSV() throws Exception {
        File tempFile = File.createTempFile("CsvReaderPojoType", "tmp");
        tempFile.deleteOnExit();
        tempFile.setWritable(true);

        OutputStreamWriter wrt = new OutputStreamWriter(new FileOutputStream(tempFile));
        wrt.write("123,NODATA,AAA,NODATA,3.123,BBB\n");
        wrt.write("456,NODATA,BBB,NODATA,1.123,AAA\n");
        wrt.close();

        @SuppressWarnings("unchecked")
        PojoTypeInfo<PojoItem> typeInfo =
                (PojoTypeInfo<PojoItem>) TypeExtractor.createTypeInfo(PojoItem.class);
        CsvInputFormat<PojoItem> inputFormat =
                new PojoCsvInputFormat<>(
                        new Path(tempFile.toURI().toString()),
                        typeInfo,
                        new boolean[] {true, false, true, false, true, true});

        inputFormat.configure(new Configuration());
        FileInputSplit[] splits = inputFormat.createInputSplits(1);

        inputFormat.open(splits[0]);

        validatePojoItem(inputFormat);
    }