code: public void init(final String... headers) {
          
          setupMappingColumns(headers);
          this.beanMappingCache = BeanMappingCache.create(beanMapping);
          
          if(beanMappingCache.getOriginal().isValidateHeader()) {
              try {
                  validateHeader(headers, beanMapping.getHeader());
                  
              } catch(SuperCsvNoMatchColumnSizeException | SuperCsvNoMatchHeaderException e) {
                  // convert exception and format to message.
                  errorMessages.addAll(exceptionConverter.convertAndFormat(e, beanMappingCache.getOriginal()));
                  throw e;
              }
          }
          
          // 初期化完了
          this.initialized = true;
      }
docs: ヘッダー情報を指定して、カラム情報の初期化を行います。
  <p>ヘッダーの位置を元にカラムの番号を決定します。</p>
  
  @param headers CSVのヘッダー情報。実際のCSVファイルの内容と一致する必要があります。
  @throws SuperCsvNoMatchColumnSizeException ヘッダーのサイズ（カラム数）がBean定義と一致しない場合。
  @throws SuperCsvNoMatchHeaderException ヘッダーの値がBean定義と一致しない場合。
  @throws SuperCsvException 引数firstLineCheck=trueのとき、このメソッドが1行目以外の読み込み時に呼ばれた場合。