code: func (s *GenericAPIServer) RunPreShutdownHooks() error {
  	var errorList []error
  
  	s.preShutdownHookLock.Lock()
  	defer s.preShutdownHookLock.Unlock()
  	s.preShutdownHooksCalled = true
  
  	for hookName, hookEntry := range s.preShutdownHooks {
  		if err := runPreShutdownHook(hookName, hookEntry); err != nil {
  			errorList = append(errorList, err)
  		}
  	}
  	return utilerrors.NewAggregate(errorList)
  }
docs: // RunPreShutdownHooks runs the PreShutdownHooks for the server