I believe this is a bug in the UVM Class reference. Looking at the source code, you need to call do_flush() instead of flush(). This is a method of uvm_component that calls the flush() method of itself, and all of its children components. I have filed 0005047