code: func NewDefaultingCodecForScheme(
  	// TODO: I should be a scheme interface?
  	scheme *runtime.Scheme,
  	encoder runtime.Encoder,
  	decoder runtime.Decoder,
  	encodeVersion runtime.GroupVersioner,
  	decodeVersion runtime.GroupVersioner,
  ) runtime.Codec {
  	return NewCodec(encoder, decoder, runtime.UnsafeObjectConvertor(scheme), scheme, scheme, scheme, encodeVersion, decodeVersion, scheme.Name())
  }
docs: // NewDefaultingCodecForScheme is a convenience method for callers that are using a scheme.