code: @Beta
      public static <T, U> BiPredicate<T, U> sp(final Object mutex, final BiPredicate<T, U> biPredicate) {
          N.checkArgNotNull(mutex, "mutex");
          N.checkArgNotNull(biPredicate, "biPredicate");
  
          return new BiPredicate<T, U>() {
              @Override
              public boolean test(T t, U u) {
                  synchronized (mutex) {
                      return biPredicate.test(t, u);
                  }
              }
          };
      }
docs: Synchronized {@code BiPredicate}
  
  @param mutex to synchronized on
  @param biPredicate
  @return