If you have no idea what can be null, or want to check everything for null, the only way is to chain calls to Optional.map:
If a value is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result. Otherwise return an empty Optional.
As such, if the mapper return null, an empty Optional will be returned, which allows to chain calls.
Optional.ofNullable(insight)
.map(i -> i.getValues())
.map(values -> values.get(0))
.map(v -> v.getValue())
.orElse(0);
The final call to orElse(0) allows to return the default value 0 if any mapper returned null.