1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
package org.shedlang.compiler.util; import java.util.Optional; public class Optionals { private Optionals() { } @SuppressWarnings("unchecked") public static <T, R> Optional<R> filterToType( Class<R> clazz, Optional<T> optional ) { return (Optional<R>) optional.filter(x -> clazz.isInstance(x)); } }