docs: def pop_state(self):
          'Retrieves the last saved state and restores it.'
  
          # Save a copy of the current state.
          state = self.subpackages.pop()
          metadata = self.metadata
          # We only rebuild message_tree anyway. No need to restore.
  
          # Copy the existing state back into place
          self.detected_type = state['detected_type']
          self.message_tree = state['message_tree']
          self.pushable_resources = state['resources']
          self.metadata = state['metadata']
  
          name = self.package_stack.pop()
  
          self.metadata.setdefault('sub_packages', {})[name] = metadata