Class java.util.Optional

Added Methods
void ifPresentOrElse(Consumer<?, super, T>, Runnable)  
boolean isEmpty()  
Optional<T> or(Supplier<Optional<? extends T>>)  
T orElseThrow()  
Stream<T> stream()  
 

Changed Methods
Optional<U> flatMap(Function<?, super, T, Optional<?, extends, U>>) Change in signature from (Function<? super T, Optional<U>>) to (Function<? super T, Optional<? extends U>>).