На самом деле, это два разных предиката.
```
interface Predicate<T> {
    boolean apply(T input)
}
```

Или, как это модно на втором курсе, это два сюръективных отображения String -> Boolean:
```
interface Function<F, T>{
    T apply(F input);
}
```