Creates a ConditionalFilter, which gets an Optional's value when passing to filter if present.
The type the given filter accepts
The type filter returns
The result when the input is not present
The filter to evaluate