code: def all_referenced_targets(self, result):
          
          if __debug__:
              from .property import Property
              assert is_iterable_typed(result, (VirtualTarget, Property))
          # Find directly referenced targets.
          deps = self.build_properties().dependency()
          all_targets = self.sources_ + deps
  
          # Find other subvariants.
          r = []
          for e in all_targets:
              if not e in result:
                  result.add(e)
                  if isinstance(e, property.Property):
                      t = e.value
                  else:
                      t = e
  
                  # FIXME: how can this be?
                  cs = t.creating_subvariant()
                  if cs:
                      r.append(cs)
          r = unique(r)
          for s in r:
              if s != self:
                  s.all_referenced_targets(result)
docs: Returns all targets referenced by this subvariant,
          either directly or indirectly, and either as sources,
          or as dependency properties. Targets referred with
          dependency property are returned a properties, not targets.