code: def iterate(self, path):
          
          if path.endswith('\\'):
              path = path[:-1]
          if not self.has_key(path):
              raise KeyError(path)
          stack = collections.deque()
          stack.appendleft(path)
          return self.__iterate(stack)
docs: Returns a recursive iterator on the specified key and its subkeys.
  
          @type  path: str
          @param path: Registry key path.
  
          @rtype:  iterator
          @return: Recursive iterator that returns Registry key paths.
  
          @raise KeyError: The specified path does not exist.