code: def actualize_sources (self, sources, prop_set):
          
          assert is_iterable_typed(sources, VirtualTarget)
          assert isinstance(prop_set, property_set.PropertySet)
          dependencies = self.properties_.get ('<dependency>')
  
          self.dependency_only_sources_ += self.actualize_source_type (dependencies, prop_set)
          self.actual_sources_ += self.actualize_source_type (sources, prop_set)
  
          # This is used to help bjam find dependencies in generated headers
          # in other main targets.
          # Say:
          #
          #   make a.h : ....... ;
          #   exe hello : hello.cpp : <implicit-dependency>a.h ;
          #
          # However, for bjam to find the dependency the generated target must
          # be actualized (i.e. have the jam target). In the above case,
          # if we're building just hello ("bjam hello"), 'a.h' won't be
          # actualized unless we do it here.
          implicit = self.properties_.get("<implicit-dependency>")
  
          for i in implicit:
              i.actualize()
docs: Creates actual jam targets for sources. Initializes two member
              variables:
              'self.actual_sources_' -- sources which are passed to updating action
              'self.dependency_only_sources_' -- sources which are made dependencies, but
              are not used otherwise.
  
              New values will be *appended* to the variables. They may be non-empty,
              if caller wants it.