code: public <U extends T, A, B> OngoingMatchingR2<T, U, A, B, R> when(
        DecomposableMatchBuilder2<U, A, B> decomposableMatchBuilder) {
      return new OngoingMatchingR2<>(this, decomposableMatchBuilder.build());
    }
docs: Specifies an match on a decomposing matcher with 2 extracted fields and then returns a fluent
  interface for specifying the action to take if the value matches this case.