@Override public R apply(T param) { try { return function.apply(param); } catch (Throwable ex) { throw new ExceptionWrapper(ex); } }
@Override public <R> Option<R> map(CheckedFunction<T, R> function) { if (isDefined()) { try { return Option.maybe(function.apply(get())); } catch (Throwable t) { return Option.none(); } } return Option.none(); }