graceland-platform/src/main/java/io/graceland/filter/FilterBinder.java
public static FilterBinder forClass(
            Binder binder,
            Class<? extends Filter> filterClass) {

        Preconditions.checkNotNull(binder, "Binder cannot be null.");
        Preconditions.checkNotNull(filterClass, "Filter Class cannot be null.");

        return new FilterBinder(
                binder,
                filterClass,
                binder.getProvider(filterClass));
    }
public static FilterBinder forClass(
            Binder binder,
            Class<? extends Filter> filterClass) {

        Preconditions.checkNotNull(binder, "Binder cannot be null.");
        Preconditions.checkNotNull(filterClass, "Filter Class cannot be null.");

        return new FilterBinder(
                binder,
                filterClass,
                binder.getProvider(filterClass));
    }
Builds a Filter Binder using a Filter Class rather than an instance. It will use the {@link com.google.inject.Binder}
to create a {@link com.google.inject.Provider} used in the Filter Binder.

@param binder      The Binder for the current Guice module.
@param filterClass The Class of a Filter to be bound.
@return A working FilterBinder.