¿Cómo hacer una composición de acción personalizada para registrar la solicitud y la respuesta en Play 2.3?

Estoy trabajando en la aplicación Play 2.3 (Java) y necesito una composición de acción personalizada para registrar la solicitud y la respuesta. Con lo que tengo hasta ahora, puedo obtener el cuerpo de la solicitud, pero no la respuesta:

import play.libs.F;
import play.mvc.Action;
import play.mvc.Http;
import play.mvc.Result;

public class LogAction extends Action.Simple {

    public F.Promise<Result> call(Http.Context ctx) throws Throwable {
        //Request body
        String requestBody = ctx.request().body().asText();
        //Need to get response body here
        //String responseBody = ???
        return delegate.call(ctx);
    }

}

¿Cómo obtengo el cuerpo de respuesta en este escenario? Si es difícil hacerlo en Java, también puede estar en Scala, sin embargo, tiene que funcionar con un método de controlador Java@With anotación.

Respuestas a la pregunta(2)

Su respuesta a la pregunta