public static T uncheckCall(Callable callable) { try { return callable.call(); } catch (Exception e) { return sneakyThrow(e); } } public static void uncheckRun(RunnableExc r) { try { r.run(); } catch (Exception e) { sneakyThrow(e); } } public interface RunnableExc { void run() throws Exception; } public static T sneakyThrow(Throwable e) { return Util.sneakyThrow0(e); } private static T sneakyThrow0(Throwable t) throws E { throw (E)t; } // Usage sample //return s.filter(a -> uncheckCall(a::isActive)) // .map(Account::getNumber) // .collect(toSet());