### Question:
MaybeFunctions { public static <T> Function<Maybe<T>, T> or(final T value) { return new OrMaybe<T>(value); }  static Function<T, Maybe<T>> wrap(); static Function<Maybe<T>, T> get(); static Function<Maybe<T>, T> or(final T value);  }### Answer:
@Test public void testOr() throws Exception { assertEquals(MaybeFunctions.or("mydefault").apply(Maybe.of("myval")), "myval"); assertEquals(MaybeFunctions.or("mydefault").apply(Maybe.<String>absent()), "mydefault"); }