@Override
    public Try<T> filter(Predicate<T> predicate) {
        return predicate.test(value) ? this : new Failure<>(new NoSuchElementException("Predicate did not match value, now empty result"));
    }
@Override
    public Try<T> filter(Predicate<T> predicate) {
        return predicate.test(value) ? this : new Failure<>(new NoSuchElementException("Predicate did not match value, now empty result"));
    }
@ Override public Try < T > filter ( Predicate < T > predicate ) { return predicate . test ( value ) ? this : new Failure <> ( new NoSuchElementException ( "Predicate did not match value, now empty result" ) ) ; }
Applies the predicate to the value of this instance, if it matches <i>this</i> is returned else a {@link Failure}.

@since 1.4
Applies the predicate to the value of this instance if it matches <i > this< / i > is returned else a { @link Failure } .