code: func (elem GroupKindElement) Accept(visitor KindVisitor) error {
  	switch {
  	case elem.GroupMatch("apps", "extensions") && elem.Kind == "DaemonSet":
  		visitor.VisitDaemonSet(elem)
  	case elem.GroupMatch("apps", "extensions") && elem.Kind == "Deployment":
  		visitor.VisitDeployment(elem)
  	case elem.GroupMatch("batch") && elem.Kind == "Job":
  		visitor.VisitJob(elem)
  	case elem.GroupMatch("", "core") && elem.Kind == "Pod":
  		visitor.VisitPod(elem)
  	case elem.GroupMatch("apps", "extensions") && elem.Kind == "ReplicaSet":
  		visitor.VisitReplicaSet(elem)
  	case elem.GroupMatch("", "core") && elem.Kind == "ReplicationController":
  		visitor.VisitReplicationController(elem)
  	case elem.GroupMatch("apps") && elem.Kind == "StatefulSet":
  		visitor.VisitStatefulSet(elem)
  	case elem.GroupMatch("batch") && elem.Kind == "CronJob":
  		visitor.VisitCronJob(elem)
  	default:
  		return fmt.Errorf("no visitor method exists for %v", elem)
  	}
  	return nil
  }
docs: // Accept calls the Visit method on visitor that corresponds to elem's Kind