java9 で追加された Objects.requireNonNullElse / requireNonNullElseGet

NULL でない時の値の取得などは、Java8 で追加された Optional で充分事足りるのにと思うのだが、
Java9 で java.util.Objects には、requireNonNullElse / requireNonNullElseGet
が追加されてる。

public static <T> T requireNonNullElse<200b>(T obj, T defaultObj)
public static <T> T requireNonNullElseGet<200b>(T obj,  Supplier<? extends T> supplier)

3項演算子( ? : ) で NULL かどうかチェックする方法、Optional の方法、今回追加された方法、どれを使うかはセンスが問われる。

java.util.Objects に追加されたメソッドでいったいどこで使う?このメソッド?
public static int checkIndex​(int index, int length)
public static int checkIndex​(int index, int toIndex, int length)
public static int checkFromIndexSize​(int fromIndex, int size, int length)

使うことがありそうで、ないような?この単に範囲チェックなるメソッドで
範囲外で IndexOutOfBoundsException を発生させる。RuntimeException 系で実行時例外、