code: func (f CodecFactory) CodecForVersions(encoder runtime.Encoder, decoder runtime.Decoder, encode runtime.GroupVersioner, decode runtime.GroupVersioner) runtime.Codec {
  	// TODO: these are for backcompat, remove them in the future
  	if encode == nil {
  		encode = runtime.DisabledGroupVersioner
  	}
  	if decode == nil {
  		decode = runtime.InternalGroupVersioner
  	}
  	return versioning.NewDefaultingCodecForScheme(f.scheme, encoder, decoder, encode, decode)
  }
docs: // CodecForVersions creates a codec with the provided serializer. If an object is decoded and its group is not in the list,
  // it will default to runtime.APIVersionInternal. If encode is not specified for an object's group, the object is not
  // converted. If encode or decode are nil, no conversion is performed.