The recent code additions have added a lot of implicit conversion warnings.

These should not be ignored, for the following reasons:

* they may indicate a design issue, e.g. an object is needed, but the
underlying data type was defined as a primitive type. That is wasteful
if the primitive type is never needed. And vice versa.

* they can indicate bugs and hide NPEs.

For example:

    public CsvSampleReader(File inputFile, SampleMetadata metadata) {
        this(inputFile, metadata, null, false); // Character is null
    }

private CsvSampleReader(File inputFile, SampleMetadata metadata,
            Character separator, boolean useSaveSampleCfg) {
...
readMetadata(separator, useSaveSampleCfg); // this is a char and will
faill with NPE

It's not clear why a null separator would ever make sense for a CSV parser.

The private constructor should take a char, and the public constructor
should presumably pass a default separator - e.g. comma.

Reply via email to