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