code: @Override
      public void validate() {
          // make sure the encoding is set..
          if (this.encoding == null) {
              throw new IllegalArgumentException("File encoding must not be null!");
          }
  
          //make sure it's a valid charset
          Charset.forName(this.encoding);
  
          // make sure the delimiter and the text qualifier are not the same..
          if (this.textQualifier == this.fieldDelimiter) {
              throw new IllegalStateException("Field delimiter and text qualifier can not be equal!");
          }
  
          // make sure file mask is set..
          if (StringUtil.isBlank(this.fileMask)) {
              throw new IllegalArgumentException("File mask must not be blank!");
          }
  
          // make sure source path is set..
          if (StringUtil.isBlank(this.sourcePath)) {
              throw new IllegalArgumentException("Source path must not be blank!");
          }
  
          // make sure keyColumnName is set..
          if (this.keyColumnNames == null || this.keyColumnNames.length == 0) {
              throw new IllegalArgumentException("key column name must not be blank!");
          }
  
          // make sure fields is set..
          if (this.fields == null || this.fields.length == 0) {
              throw new IllegalArgumentException("Column names must not be blank!");
          }
  
          // make sure key separator is set..
          if (StringUtil.isBlank(this.keyseparator)) {
              throw new IllegalArgumentException("File mask must not be blank!");
          }
      }
docs: Determine if all the values are valid.
  
  @throws IllegalArgumentException if encoding or fileMask or sourcePath or keyColumnName or passwordColumnName or
  deleteColumnName or fields is blank or null.
  @throws IllegalStateException if the text qualifier and field delimiter are the same.
  @throws RuntimeException if the file is not found.
  @throws java.nio.charset.IllegalCharsetNameException if the character set name is invalid