// Path: src/main/java/com/github/davidmoten/rx2/exceptions/ThrowingException.java
// public final class ThrowingException extends RuntimeException {
// 
//     private static final long serialVersionUID = 8336479045139136638L;
// 
// }


import com.github.davidmoten.rx2.exceptions.ThrowingException;
import io.reactivex.functions.BiPredicate;
package com.github.davidmoten.rx2;



public final class BiPredicates {

    private BiPredicates() {
        // prevent instantiation
    }

    public static <T, R> BiPredicate<T, R> alwaysTrue() {
        // TODO make holder
        return new BiPredicate<T, R>() {

            @Override
            public boolean test(T t1, R t2) throws Exception {
                return true;
            }
        };
    }

    public static <T, R> BiPredicate<T, R> alwaysFalse() {
        // TODO make holder
        return new BiPredicate<T, R>() {

            @Override
            public boolean test(T t1, R t2) throws Exception {
                return false;
            }
        };
    }

    public static <T, R> BiPredicate<T, R> throwing() {
        // TODO make holder
        return new BiPredicate<T, R>() {

            @Override
            public boolean test(T t1, R t2) throws Exception {
// Path: src/main/java/com/github/davidmoten/rx2/exceptions/ThrowingException.java
// public final class ThrowingException extends RuntimeException {
// 
//     private static final long serialVersionUID = 8336479045139136638L;
// 
// }


// Path: src/main/java/com/github/davidmoten/rx2/BiPredicates.java
import com.github.davidmoten.rx2.exceptions.ThrowingException;
import io.reactivex.functions.BiPredicate;

package com.github.davidmoten.rx2;



public final class BiPredicates {

    private BiPredicates() {
        // prevent instantiation
    }

    public static <T, R> BiPredicate<T, R> alwaysTrue() {
        // TODO make holder
        return new BiPredicate<T, R>() {

            @Override
            public boolean test(T t1, R t2) throws Exception {
                return true;
            }
        };
    }

    public static <T, R> BiPredicate<T, R> alwaysFalse() {
        // TODO make holder
        return new BiPredicate<T, R>() {

            @Override
            public boolean test(T t1, R t2) throws Exception {
                return false;
            }
        };
    }

    public static <T, R> BiPredicate<T, R> throwing() {
        // TODO make holder
        return new BiPredicate<T, R>() {

            @Override
            public boolean test(T t1, R t2) throws Exception {
                throw new ThrowingException();