code: def find_counterpart_in(self, tree_b):
          
  
          tree_b_hierarchy_entry = tree_b.process_hierarchy.get_by_qualifier(self.time_qualifier)
          if not tree_b_hierarchy_entry:
              # special case when tree with more levels depends on the tree with smaller amount of levels
              # for example ThreeLevel Financial tree depends on TwoLevel Google Channel
              # in this case - we just verify time-periods that matches in both trees;
              # for levels that have no match, we assume that dependency does not exists
              # for example Financial Monthly has no counterpart in Google Daily Report -
              # so we assume that its not blocked
              node_b = None
          else:
              node_b = tree_b.get_node(tree_b_hierarchy_entry.process_entry.process_name, self.timeperiod)
  
          return node_b
docs: Finds a TreeNode counterpart for this node in tree_b
              :param tree_b: target tree that hosts counterpart to this node
              :return: TreeNode from tree_b that has the same timeperiod as self.timeperiod,
                  or None if no counterpart ware found