code: func (registry *Registry) RunEventQueue(resourceName ResourceName) *oscache.EventQueue {
  	var client cache.Getter
  	var expectedType interface{}
  
  	switch resourceName {
  	case HostSubnets:
  		expectedType = &osapi.HostSubnet{}
  		client = registry.oClient
  	case NetNamespaces:
  		expectedType = &osapi.NetNamespace{}
  		client = registry.oClient
  	case Nodes:
  		expectedType = &kapi.Node{}
  		client = registry.kClient
  	case Namespaces:
  		expectedType = &kapi.Namespace{}
  		client = registry.kClient
  	case Services:
  		expectedType = &kapi.Service{}
  		client = registry.kClient
  	case Pods:
  		expectedType = &kapi.Pod{}
  		client = registry.kClient
  	default:
  		log.Fatalf("Unknown resource %s during initialization of event queue", resourceName)
  	}
  
  	lw := cache.NewListWatchFromClient(client, strings.ToLower(string(resourceName)), kapi.NamespaceAll, fields.Everything())
  	eventQueue := oscache.NewEventQueue(cache.MetaNamespaceKeyFunc)
  	// Repopulate event queue every 30 mins
  	// Existing items in the event queue will have watch.Modified event type
  	cache.NewReflector(lw, expectedType, eventQueue, 30*time.Minute).Run()
  	return eventQueue
  }
docs: // Run event queue for the given resource