def get_states_statistics(self, hierarchy_level):
        """
        Returns the numer of child states
        :return:
        """
        number_of_all_child_states = 0
        max_child_hierarchy_level = 0
        for s in self.states.values():
            child_hierarchy_level = 0
            number_of_child_states, child_hierarchy_level = s.get_states_statistics(child_hierarchy_level)
            number_of_all_child_states += number_of_child_states
            if child_hierarchy_level > max_child_hierarchy_level:
                max_child_hierarchy_level = child_hierarchy_level

        return number_of_all_child_states + 1, hierarchy_level + max_child_hierarchy_level + 1
def get_states_statistics ( self , hierarchy_level ) : number_of_all_child_states = 0 max_child_hierarchy_level = 0 for s in self . states . values ( ) : child_hierarchy_level = 0 number_of_child_states , child_hierarchy_level = s . get_states_statistics ( child_hierarchy_level ) number_of_all_child_states += number_of_child_states if child_hierarchy_level > max_child_hierarchy_level : max_child_hierarchy_level = child_hierarchy_level return number_of_all_child_states + 1 , hierarchy_level + max_child_hierarchy_level + 1
Returns the numer of child states
        :return: