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

def find_counterpart_in(self, tree_b):
        """ 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
        """

        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