code: def finalize( self, already_done=None ):
          
          if already_done is None:
              already_done = {}
          if already_done.has_key( self ):
              return True
          already_done[self] = True
          self.filter_children()
          children = self.children
          for child in children:
              if hasattr( child, 'finalize' ):
                  child.finalize( already_done)
              child.parents.append( self )
          self.calculate_totals( self.children, self.local_children )
docs: Finalize our values (recursively) taken from our children