In reply to eda2k4:
Certain operations, like constructing a class, change the random seeding of a process. There are many cases (for example, debugging) where you would like to modify your code without disturbing the random seed. If adding `uvm_info messages changed your random seeding, debugging could become impossible. The UVM puts the get/set_randstate() calls as guards around code to keep this from happening.