private Response applyTransformations(Request request,
ResponseDefinition responseDefinition,
Response response,
List<ResponseTransformer> transformers) {
if (transformers.isEmpty()) {
return response;
}
ResponseTransformer transformer = transformers.get(0);
Response newResponse =
transformer.applyGlobally() || responseDefinition.hasTransformer(transformer) ?
transformer.transform(request, response, fileSource, responseDefinition.getTransformerParameters()) :
response;
return applyTransformations(request, responseDefinition, newResponse, transformers.subList(1, transformers.size()));
}