code: func AddToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion) {
  	scheme.AddKnownTypeWithName(groupVersion.WithKind(WatchEventKind), &WatchEvent{})
  	scheme.AddKnownTypeWithName(
  		schema.GroupVersion{Group: groupVersion.Group, Version: runtime.APIVersionInternal}.WithKind(WatchEventKind),
  		&InternalEvent{},
  	)
  	// Supports legacy code paths, most callers should use metav1.ParameterCodec for now
  	scheme.AddKnownTypes(groupVersion,
  		&ListOptions{},
  		&ExportOptions{},
  		&GetOptions{},
  		&DeleteOptions{},
  		&CreateOptions{},
  		&UpdateOptions{},
  		&PatchOptions{},
  	)
  	utilruntime.Must(scheme.AddConversionFuncs(
  		Convert_v1_WatchEvent_To_watch_Event,
  		Convert_v1_InternalEvent_To_v1_WatchEvent,
  		Convert_watch_Event_To_v1_WatchEvent,
  		Convert_v1_WatchEvent_To_v1_InternalEvent,
  	))
  	// Register Unversioned types under their own special group
  	scheme.AddUnversionedTypes(Unversioned,
  		&Status{},
  		&APIVersions{},
  		&APIGroupList{},
  		&APIGroup{},
  		&APIResourceList{},
  	)
  
  	// register manually. This usually goes through the SchemeBuilder, which we cannot use here.
  	utilruntime.Must(AddConversionFuncs(scheme))
  	utilruntime.Must(RegisterDefaults(scheme))
  }
docs: // AddToGroupVersion registers common meta types into schemas.