code: func NewCodecForScheme(
  	// TODO: I should be a scheme interface?
  	scheme *runtime.Scheme,
  	serializer runtime.Serializer,
  	encodeVersion []unversioned.GroupVersion,
  	decodeVersion []unversioned.GroupVersion,
  ) runtime.Codec {
  	return NewCodec(serializer, scheme, scheme, scheme, runtime.ObjectTyperToTyper(scheme), encodeVersion, decodeVersion)
  }
docs: // NewCodecForScheme is a convenience method for callers that are using a scheme.