code: def get_all_derivatives(self, address):
      
      ret = []
      direct = self.get_direct_derivatives(address)
      ret.extend(direct)
      for t in direct:
        ret.extend(self.get_all_derivatives(t.address))
      return ret
docs: Get all targets derived directly or indirectly from the specified target.
  
      Note that the specified target itself is not returned.
  
      :API: public