APIs REST de controle de versão e tipo de conteúdo específico do fornecedor

Eu leio muito sobre as APIs REST de versionamento, por exemplo. neste segmento:Práticas recomendadas para o versionamento de API?

Por causa disso eu gostaria de usar o HTTP-Accept-Header para indicar qual versão o cliente está pedindo. Mas como posso aplicar isso na minha inscrição? Quais mudanças, portanto, foram feitas? Como o marshaller sabe qual versão deve ser usada? Tenho que registrar meu tipo?

O que eu sei é que tenho que mudar o conteúdo do@Produces-Anotação

@GET
@Path("/locations")
@Produces("application/vnd.mycompany-v1+xml")
Location[] getLocations();

Mas o que mais tem que ser mudado?