Yes, it has to exist in the case of the first exception, but not the 2nd exception. Both exceptions cause this branch to execute. There is an abstraction problem in the code that make the reader believe only the first exception results in the `else` branch. Even in the case of the first exception, keep in mind that two consecutive reads may not give you the same result if the data is still being propagated. The two reads might hit two different servers. This is the 'eventual consistency' that is a characteristic of distributed databases.
That is why the status we show immediately after adding an entity should say something like 'if cannot see it, refresh shortly'. 

Secondly, The `if(!isError)` branch can be put inside the `try` block? The remaining branch can be `if(isError)`