code: public Optional<PositionGetter> create(final Class<?> beanClass, final String fieldName) {
          
          ArgUtils.notNull(beanClass, "beanClass");
          ArgUtils.notEmpty(fieldName, "fieldName");
          
          // フィールド Map positionsの場合
          Optional<PositionGetter> positionGetter = createMapField(beanClass, fieldName);
          if(positionGetter.isPresent()) {
              return positionGetter;
          }
          
          // setter メソッドの場合
          positionGetter = createMethod(beanClass, fieldName);
          if(positionGetter.isPresent()) {
              return positionGetter;
          }
          
          // フィールド + positionの場合
          positionGetter = createField(beanClass, fieldName);
          if(positionGetter.isPresent()) {
              return positionGetter;
          }
          
          
          return Optional.empty();
          
          
      }
docs: フィールドの位置情報を取得するためのアクセッサを作成します。
  @param beanClass フィールドが定義されているクラス情報
  @param fieldName フィールドの名称
  @return 位置情報のgetterが存在しない場合は空を返す。
  @throws IllegalArgumentException {@literal beanClass == null or fieldName == null}
  @throws IllegalArgumentException {@literal fieldName.isEmpty() = true}