prow/client/informers/externalversions/generic.go
func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
	switch resource {
	// Group=prow.k8s.io, Version=v1
	case v1.SchemeGroupVersion.WithResource("prowjobs"):
		return &genericInformer{resource: resource.GroupResource(), informer: f.Prow().V1().ProwJobs().Informer()}, nil

	}

	return nil, fmt.Errorf("no informer found for %v", resource)
}
func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
	switch resource {
	// Group=prow.k8s.io, Version=v1
	case v1.SchemeGroupVersion.WithResource("prowjobs"):
		return &genericInformer{resource: resource.GroupResource(), informer: f.Prow().V1().ProwJobs().Informer()}, nil

	}

	return nil, fmt.Errorf("no informer found for %v", resource)
}
// ForResource gives generic access to a shared informer of the matching type
// TODO extend this to unknown resources with a client pool