code: def _resolve_child(self, path):
          'Return a member generator by a dot-delimited path'
          obj = self
  
          for component in path.split('.'):
              ptr = obj
              if not isinstance(ptr, Permuter):
                  raise self.MessageNotFound("Bad element path [wrong type]")
  
              # pylint: disable=protected-access
              found_gen = (_ for _ in ptr._generators if _.name() == component)
  
              obj = next(found_gen, None)
  
              if not obj:
                  raise self.MessageNotFound("Path '{}' unresolved to member."
                                             .format(path))
          return ptr, obf _resolve_child(self, path):
          'Return a member generator by a dot-delimited path'
          obj = self
  
          for component in path.split('.'):
              ptr = obj
              if not isinstance(ptr, Permuter):
                  raise self.MessageNotFound("Bad element path [wrong type]")
  
              # pylint: disable=protected-access
              found_gen = (_ for _ in ptr._generators if _.name() == component)
  
              obj = next(found_gen, None)
  
              if not obj:
                  raise self.MessageNotFound("Path '{}' unresolved to member."
                                             .format(path))
          return ptr, obj
docs: Return a member generator by a dot-delimited path