code: public Object getValue(final Object targetObj) {
          
          ArgUtils.notNull(targetObj, "targetObj");
          
          if(targetGetter.isPresent()) {
              try {
                  return targetGetter.get().invoke(targetObj);
              } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
                  throw new FieldAccessException(this, "fail getter value", e);
              }
              
          } else if(targetField.isPresent()) {
              try {
                  return targetField.get().get(targetObj);
              } catch (IllegalArgumentException | IllegalAccessException e) {
                  throw new FieldAccessException(this, "fail get field value", e);
              }
              
          } else {
              throw new FieldAccessException(this, "not found getter method or field.");
          }
          
      }
docs: オブジェクトのフィールドの値を取得します。
  <p>getterが存在する場合は、getterメソッド経由で取得します。</p>
  @param targetObj オブジェクト（インスタンス）
  @return フィールドの値。
  @throws IllegalArgumentException {@literal targetObj == null.}
  @throws FieldAccessException {@literal 値の取得に失敗した場合。}