try {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET));
JsonEntryEntityProducer producer = new JsonEntryEntityProducer(properties);
producer.append(writer, entityInfo, data, true);
writer.flush();
buffer.closeWrite();
return ODataResponse.entity(buffer.getInputStream())
.eTag(producer.getETag())
.idLiteral(producer.getLocation())
.build();