Aynchronous Set in JAVA Client

The aynchronous set method returns a OperationFuture object.
We can use get method of this object to get the result of the operation and the method is a block method. It waits until the operation sends back the response.

But, when the get method returns if we set the PersistTo.TWO? Does it wait until the data persist to the master and one replica? In another word, can it guarantee the persist of data if the get method returns true?

If yes, what is the difference to use get method and to use the observe mechanism?

Thanks in advance!