Optional { public static <T> Optional<T> of(T object) { return new PresentOptional<T>(checkNotNull(object, "value must not be null")); } private  Optional(); @SuppressWarnings("unchecked") static Optional<T> absent(); static Optional<T> ofNullable(final T object); static Optional<T> of(T object); abstract boolean isPresent(); abstract T get(); abstract T or(T other); T orNull(); T getOrThrow(String message, Object... args); T getOrThrow(Class<? extends RuntimeException> exceptionClass,
			String message, Object... args);  }
@Test public void callingOfWithNullValueThrowsRTE() { exceptions.expect(RuntimeException.class); Optional.of(null); }