public <X extends Throwable>long orElseThrow(Supplier<X> exceptionSupplier) throws X {
  if (isPresent) {
    return value;
  }
 else {
    throw exceptionSupplier.get();
  }
}

public < X extends Throwable > long orElseThrow ( Supplier < X > exceptionSupplier ) throws X { if ( isPresent ) { return value ; } else { throw exceptionSupplier . get ( ) ; } }
return the contained value , if present , otherwise throw an exception to be created by the provided supplier .
