code: public static <T1, T2, T3, R> TriFunction<T1, T2, T3, R> spy3rd(TriFunction<T1, T2, T3, R> function, Box<T3> param3) {
          return spy(function, Box.<R>empty(), Box.<T1>empty(), Box.<T2>empty(), param3);
      }
docs: Proxies a ternary function spying for third parameter.
  
  @param <R> the function result type
  @param <T1> the function first parameter type
  @param <T2> the function second parameter type
  @param <T3> the function third parameter type
  @param function the function that will be spied
  @param param3 a box that will be containing the third spied parameter
  @return the proxied function