En REST / Java, ¿qué debo devolver si mi objeto es nulo?

Tengo un POJO simple que anoté con anotaciones REST de la siguiente manera:

@GET
@Path("/domains/{domainid}")
@Override
public Domain getDomain(@PathParam("domainid") UUID domainID) throws Exception {
    logger.info("Retrieving domain "+ domainID);
    Domain d = null;
    try {
        d = MyClient.getDomains().get(domainID.toString());
        logger.debug("Returning "+d.getName());
    } catch (Exception e) {
        logger.error("Could not retrieve domain", e);
    }
    return d;
}

Tenga en cuenta que la instrucción de registro que incluye d.getName () en realidad puede arrojar un NPE que luego se captura y se registra. Eso no es bonito, pero tampoco es el punto aquí.

En última instancia, si d tiene un valor o no, lo devuelvo.

En el caso de un valor nulo, mi cliente recibe un código de estado HTTP 204. Esto es lo que muestra wget:HTTP request sent, awaiting response... 204 No Content

Por extraño que parezca, mis navegadores no se mueven ni una pulgada. Todavía muestran la página anterior (supongo que tiene sentido quedarse donde no se recibe contenido). Hubiera esperado una página en blanco.

Tres preguntas:

¿Es HTTP 204 la respuesta correcta que se devolverá?¿Cómo puedo controlar eso a través de anotaciones? ¿A través de otra configuración?¿Cuál es la mejor práctica estándar de REST con respecto a los objetos nulos?

Gracias

=== EDITAR ===

Hay una gran pregunta sobre el mismo tema aquí:¿Es correcto devolver 404 cuando no se encuentra un recurso REST?

Respuestas a la pregunta(1)

Su respuesta a la pregunta