code: @Execute
      public ActionResponse index(final CacheForm form) {
          validate(form, messages -> {}, () -> asHtml(virtualHost(path_Error_ErrorJsp)));
          if (isLoginRequired()) {
              return redirectToLogin();
          }
  
          Map<String, Object> doc = null;
          try {
              doc = searchService.getDocumentByDocId(form.docId, queryHelper.getCacheResponseFields(), getUserBean()).orElse(null);
          } catch (final Exception e) {
              logger.warn("Failed to request: " + form.docId, e);
          }
          if (doc == null) {
              saveError(messages -> messages.addErrorsDocidNotFound(GLOBAL, form.docId));
              return redirect(ErrorAction.class);
          }
  
          final String content = viewHelper.createCacheContent(doc, form.hq);
          if (content == null) {
              saveError(messages -> messages.addErrorsDocidNotFound(GLOBAL, form.docId));
              return redirect(ErrorAction.class);
          }
  
          final StreamResponse response =
                  asStream(DocumentUtil.getValue(doc, fessConfig.getIndexFieldDocId(), String.class)).contentType("text/html; charset=UTF-8")
                          .data(content.getBytes(Constants.CHARSET_UTF_8));
          response.headerContentDispositionInline(); // TODO will be fixed in lastaflute
          return response;
      }
docs: ==============