code: public static <T1, T2, T3> TriPredicate<T1, T2, T3> spy2nd(TriPredicate<T1, T2, T3> predicate, Box<T2> param2) {
          return spy(predicate, Box.<Boolean>empty(), Box.<T1>empty(), param2, Box.<T3>empty());
      }
docs: Proxies a ternary predicate spying for second parameter.
  
  @param <T1> the predicate first parameter type
  @param <T2> the predicate second parameter type
  @param <T3> the predicate third parameter type
  @param predicate the predicate that will be spied
  @param param2 a box that will be containing the second spied parameter
  @return the proxied predicate