Null check in do while loop

This has been discussed a number of times in very long and somewhat heated threads (Smart casts and nullability in single-threaded contexts - #11 by mslenc).

Fundamentally the compiler can’t be sure that abc won’t be null when you read it. (you can add an instruction in between changing abc or there might another thread changing it).