This was introduced in #4014 (and renamed in #5211).
It was introduced (along with the single arg variant) in order to avoid memory allocation via capturing lambdas.
It's called at each step in servlet filter chains, so is potentially a useful optimization, but we should benchmark to make sure that the alternative (capturing lambda) doesn't get JIT optimized via escape analysis and perform equally well.