code: private Optional<LabelSetter> createField(final Class<?> beanClass, final String fieldName) {
          
          final String labelFieldName = fieldName + "Label";
          
          final Field labelField;
          try {
              labelField = beanClass.getDeclaredField(labelFieldName);
              labelField.setAccessible(true);
              
          } catch (NoSuchFieldException | SecurityException e) {
              return Optional.empty();
          }
          
          if(labelField.getType().equals(String.class)) {
              
              return Optional.of(new LabelSetter() {
                  
                  @Override
                  public void set(final Object beanObj, final String label) {
                      ArgUtils.notNull(beanObj, "beanObj");
                      ArgUtils.notNull(label, "label");
                      
                      try {
                          labelField.set(beanObj, label);
                      } catch (IllegalArgumentException | IllegalAccessException e) {
                          throw new RuntimeException("fail access label field.", e);
                      }
                  }
              });
              
          }
          
          return Optional.empty();
      }
docs: フィールドによるラベル情報を格納する場合。
  <p>{@code <フィールド名> + Label}のメソッド名</p>
  <p>引数として、{@link CellPosition}、{@link Point}、 {@link org.apache.poi.ss.util.CellAddress}をサポートする。</p>
  
  @param beanClass フィールドが定義してあるクラスのインスタンス
  @param fieldName フィールド名
  @return ラベル情報の設定用クラス