code: public static <KeyIn, ValueIn, ValueOut> Supplier<KeyIn, ValueIn, ValueOut> fromKeyPredicate(
              KeyPredicate<KeyIn> keyPredicate) {
  
          return new KeyPredicateSupplier<KeyIn, ValueIn, ValueOut>(keyPredicate);
      }
docs: The predefined Supplier selects values using the given {@link com.hazelcast.mapreduce.KeyPredicate}
  and does not perform any kind of data transformation. Input value types need to match the
  aggregations expected value type to make this Supplier work.
  
  @param <KeyIn>    the input key type
  @param <ValueIn>  the input value type
  @param <ValueOut> the supplied value type
  @return selected values from the underlying data structure as stored