fun compareAndSet(expected: T, new: T): Boolean
Compares value with expected and replaces it with new value if values matches.
Note that comparison is identity-based, not value-based.
Parameters
expected - the expected value
new - the new value
Return true if successful