class Conditions {

  @NonNull
  public static <T> Condition predicateAsCondition(@NonNull final Predicate<T> predicate,
      @NonNull final Supplier<? extends T> supplier) {
    if (predicate == TRUE_CONDICATE) {
      return TRUE_CONDICATE;
    }
    if (predicate == FALSE_CONDICATE) {
      return FALSE_CONDICATE;
    }
    return new PredicateCondition<>(predicate, supplier);
  }

  private  Conditions();

}