In Javascript I can do the following to get a value according to their respective order of appearance in the assignment..

```
var myString = source1 || source2 || source3 || source4 || source5;

```

If any of the sources has value, it will be assigned to myString. If all sources have value, it will take the first one.

In Java, the `java.util.Optional` seems limited to only just `Optional.of("value").orElse( "another" )` and it cannot chain anymore as the the return of orElse() is already a string.