code: protected <S> void invokeNestedValidator(final ObjectValidator<S> validator, final S targetObject,
              final SheetBindingErrors<?> errors, final String subPath, final Class<?>... groups) {
  
          ArgUtils.notNull(validator, "validator");
          ArgUtils.notNull(targetObject, "targetObject");
          ArgUtils.notNull(errors, "errors");
  
          errors.pushNestedPath(subPath);
          try {
              validator.validate(targetObject, errors, groups);
          } finally {
              errors.popNestedPath();
          }
      }
docs: ネストしたプロパティの値の検証を実行する。
  @param <S> ネストしたプロパティのクラスタイプ
  @param validator ネストしたプロパティに対するValidator
  @param targetObject ネストしたプロパティのインスタンス
  @param errors エラー情報
  @param subPath ネストするパス
  @param groups バリデーション時のヒントとなるグループ。
  @throws IllegalArgumentException {@literal validator == null or targetObject == null or errors == null}