code: public static <T1, T2, T3> TriConsumer<T1, T2, T3> spy(TriConsumer<T1, T2, T3> consumer, Box<T1> param1, Box<T2> param2, Box<T3> param3) {
          return new TernaryCapturingConsumer<T1, T2, T3>(consumer, param1, param2, param3);
      }
docs: Proxies a ternary consumer spying for parameters.
  
  @param <T1> the consumer first parameter type
  @param <T2> the consumer second parameter type
  @param <T3> the consumer third parameter type
  @param consumer the consumer that will be spied
  @param param1 a box that will be containing the first spied parameter
  @param param2 a box that will be containing the second spied parameter
  @param param3 a box that will be containing the third spied parameter
  @return the proxied consumer