code: public static TreeSet<Integer> validateDuplicatedColumnNumber(final Class<?> beanType, final List<ColumnMapping> list) {
          
          final TreeSet<Integer> checkedNumber = new TreeSet<>();
          final TreeSet<Integer> duplicatedNumbers = new TreeSet<>();
          for(ColumnMapping columnMapping : list) {
              
              if(checkedNumber.contains(columnMapping.getNumber())) {
                  duplicatedNumbers.add(columnMapping.getNumber());
              }
              checkedNumber.add(columnMapping.getNumber());
              
          }
          
          if(!duplicatedNumbers.isEmpty()) {
              // 重複している 属性 numberが存在する場合
              throw new SuperCsvInvalidAnnotationException(MessageBuilder.create("anno.attr.duplicated")
                      .var("property", beanType.getName())
                      .varWithAnno("anno", CsvColumn.class)
                      .var("attrName", "number")
                      .var("attrValues", duplicatedNumbers)
                      .format());
          }
          
          // カラム番号が1以上かチェックする
          final int minColumnNumber = checkedNumber.first();
          if(minColumnNumber <= 0) {
              throw new SuperCsvInvalidAnnotationException(MessageBuilder.create("anno.attr.min")
                      .var("property", beanType.getName())
                      .varWithAnno("anno", CsvColumn.class)
                      .var("attrName", "number")
                      .var("attrValue", minColumnNumber)
                      .var("min", 1)
                      .format());
              
          }
          
          return checkedNumber;
      }
docs: カラム番号が重複しているかチェックする。また、番号が1以上かもチェックする。
  @param beanType Beanタイプ
  @param list カラム情報の一覧
  @return チェック済みの番号
  @throws SuperCsvInvalidAnnotationException {@link CsvColumn}の定義が間違っている場合