public function returnsThis()
 {
     if (null === ($rs = parent::returnsThis())) {
         $rs = new B();
     }
     return $rs;
 }
 public function returnsParent()
 {
     return parent::returnsThis();
 }
 public function returnsThis()
 {
     return A::returnsThis();
 }