Нам нужен целый класс WithFilter, чтобы соблюсти контракт "не создаёт новую коллекцию", даже если это, вероятно, не сильно повлияет на коллекцию с максимальным размером 1.
Создаёт нестрогий фильтр, который в конечном итоге преобразует это в Failure если предикат не удовлетворён.
Примечание: в отличие от filter, withFilter не создаёт новую Try. Вместо этого он ограничивает область действия последующих map, flatMap, foreach, и withFilter операций.
Так как Try является коллекцией из одного элемента, это может быть немного избыточным, но это согласуется с withFilter для Option и других коллекций.
Параметры
p
предикат, используемый для проверки элементов.
Возвращает
объект класса WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем элементам этой Try, которые удовлетворяют предикату p.