Method goes to the top of the tree and traverses from
            there in search of the next suitable node for processing
            to the level defined by the given time_qualifier
            :param time_qualifier: defines target level of the tree
            :return: located node; type <TreeNode>

def _get_next_node(self, time_qualifier):
        """ Method goes to the top of the tree and traverses from
            there in search of the next suitable node for processing
            to the level defined by the given time_qualifier
            :param time_qualifier: defines target level of the tree
            :return: located node; type <TreeNode> """
        hierarchy_entry = self.process_hierarchy.get_by_qualifier(time_qualifier)
        if hierarchy_entry.parent:
            parent_time_qualifier = hierarchy_entry.parent.process_entry.time_qualifier
            parent = self._get_next_node(parent_time_qualifier)
        else:
            parent = self.root

        return self._get_next_child_node(parent)