*/
public MapReduceResult mapReduce(MapReduceSpec spec) throws IOException, MapReduceTimeoutException {
IRequestMeta meta = new RequestMeta();
meta.contentType(Constants.CTYPE_JSON);
try {
MapReduceResponseSource resp = client.mapReduce(spec.getJSON(), meta);
return convert(resp);
} catch (RiakError e) {
if (JSONErrorParser.isTimeoutException(e.getMessage())) {
throw new MapReduceTimeoutException();
} else {