docs: public static ApplicationContext getApplicationContext(final ITemplateContext context) {
          if (context == null) {
              return null;
          }
          // The ThymeleafEvaluationContext is set into the model by ThymeleafView (or wrapped by the SPEL evaluator)
          final IThymeleafEvaluationContext evaluationContext =
                  (IThymeleafEvaluationContext) context.getVariable(ThymeleafEvaluationContext.THYMELEAF_EVALUATION_CONTEXT_CONTEXT_VARIABLE_NAME);
          if (evaluationContext == null || !(evaluationContext instanceof ThymeleafEvaluationContext)) {
              return null;
          }
          // Only when the evaluation context is a ThymeleafEvaluationContext we can access the ApplicationContext.
          // The reason is it could also be a wrapper on another EvaluationContext implementation, created at the
          // SPELVariableExpressionEvaluator on-the-fly (where ApplicationContext is not available because there might
          // even not exist one), instead of at ThymeleafView (where we are sure we are executing a Spring View and
          // have an ApplicationContext available).
          return ((ThymeleafEvaluationContext)evaluationContext).getApplicationContext();
      }