import java.io.IOException; import java.util.Optional; class Test { interface Extractor { T extractData() throws IOException; } public static T query(Extractor rse) { return null; } static { final Optional query = query(() -> { final String type = Optional.empty().orElseThrow(null); return null; }); } }