code: @Override
      public <T> BeanMapping<T> create(final Class<T> beanType, final Class<?>... groups) {
          
          Objects.requireNonNull(beanType);
          
          final Configuration configuration = getConfiguration();
          final BeanMapping<T> beanMapping = new BeanMapping<>(beanType);
          beanMapping.setConfiguration(configuration);
          
          // アノテーション @CsvBeanの取得
          final CsvBean beanAnno = beanType.getAnnotation(CsvBean.class);
          if(beanAnno == null) {
              throw new SuperCsvInvalidAnnotationException(beanAnno, MessageBuilder.create("anno.notFound")
                          .varWithClass("property", beanType)
                          .varWithAnno("anno", CsvBean.class)
                          .format());
          }
          
          // ヘッダーの設定情報の組み立て
          buildHeaderMapper(beanMapping, beanAnno);
          
          // 入力値検証の設定を組み立てます。
          buildValidators(beanMapping, beanAnno, groups);
          
          // アノテーション @CsvColumn を元にしたカラム情報の組み立て
          buildColumnMappingList(beanMapping, beanType, groups);
          
          // コールバックメソッドの設定
          buildCallbackMethods(beanMapping, beanType, beanAnno);
          
          return beanMapping;
      }
docs: Beanクラスから、CSVのマッピング情報を作成します。
  
  @param <T> Beanのタイプ
  @param beanType 作成元のBeanクラス。
  @param groups グループ情報。
  アノテーションを指定したグループで切り替える際に指定します。
  何も指定しない場合は、デフォルトグループの{@link DefaultGroup}のクラスが指定されたとして処理します。
  @return CSVのマッピング情報。
  @throws NullPointerException {@literal beanType == null.}
  @throws SuperCsvInvalidAnnotationException アノテーションの定義が不正な場合。