### Question:
MaybeFunctions { public static <T> Function<T, Maybe<T>> wrap() { return new WrapMaybe<T>(); }  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 testWrap() throws Exception { Maybe<Object> result = MaybeFunctions.wrap().apply("myval"); assertEquals(result.get(), "myval"); Maybe<Object> result2 = MaybeFunctions.wrap().apply(null); assertFalse(result2.isPresent()); }