code: @Override
      public String[] getHeader(boolean firstLineCheck) throws IOException {
          
          final String[] header = super.getHeader(firstLineCheck);
          if(beanMappingCache.getOriginal().isValidateHeader()) {
              try {
                  validateHeader(header, beanMappingCache.getHeader());
                  
              } catch(SuperCsvNoMatchColumnSizeException | SuperCsvNoMatchHeaderException e) {
                  // convert exception and format to message.
                  errorMessages.addAll(exceptionConverter.convertAndFormat(e, beanMappingCache.getOriginal()));
                  throw e;
              }
          }
          
          return header;
          
      }
docs: {@inheritDoc}
  
  @param firstLineCheck 1行目の読み込み時に呼ばれるかチェックします。
  trueのとき、1行目の読み込み時以外に呼ばれた場合、例外{@link SuperCsvException}をスローします。
  @return ヘッダー行の値を配列で返します。
  @throws SuperCsvNoMatchColumnSizeException ヘッダーのサイズ（カラム数）がBean定義と一致しない場合。
  @throws SuperCsvNoMatchHeaderException ヘッダーの値がBean定義と一致しない場合。
  @throws SuperCsvException 引数firstLineCheck=trueのとき、このメソッドが1行目以外の読み込み時に呼ばれた場合。
  @throws IOException ファイルの読み込みに失敗した場合。