original_docstring: 
          Have to check if there's anything actually running first.
  
          Returns:
              :class:`~py_trees.behaviour.Behaviour`: the child that is currently running, or None
          
docstring: Have to check if there's anything actually running first.
docstring_tokens: Have to check if there ' s anything actually running first .
code: def current_child(self):
          """
          Have to check if there's anything actually running first.
  
          Returns:
              :class:`~py_trees.behaviour.Behaviour`: the child that is currently running, or None
          """
          if self.status == Status.INVALID:
              return None
          if self.status == Status.FAILURE:
              for child in self.children:
                  if child.status == Status.FAILURE:
                      return child
              # shouldn't get here
          elif self.status == Status.SUCCESS and self.policy == common.ParallelPolicy.SUCCESS_ON_ONE:
              for child in self.children:
                  if child.status == Status.SUCCESS:
                      return child
          else:
              return self.children[-1]
code_tokens: def current_child ( self ) : if self . status == Status . INVALID : return None if self . status == Status . FAILURE : for child in self . children : if child . status == Status . FAILURE : return child elif self . status == Status . SUCCESS and self . policy == common . ParallelPolicy . SUCCESS_ON_ONE : for child in self . children : if child . status == Status . SUCCESS : return child else : return self . children [ - 1 ]
short_docstring: Have to check if there's anything actually running first.
short_docstring_tokens: Have to check if there ' s anything actually running first .
comment: """
          Have to check if there's anything actually running first.
  
          Returns:
              :class:`~py_trees.behaviour.Behaviour`: the child that is currently running, or None
          """$SEP$# shouldn't get here