docs: 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