public QueryBatch makeBatchCompatible(QueryBatch batch) { QueryData.Builder header = batch.getHeader().toBuilder(); List<SerializedField.Builder> fieldBuilders = header.getDefBuilder().getFieldBuilderList(); ByteBuf[] buffers = sliceIfNecessary(batch); try { patchFields(fieldBuilders, buffers, 0, buffers.length, "$root$", ""); } catch (RuntimeException e) { throw new IllegalStateException("Failure patching batch for compatibility. schema: " + batch.getHeader() + " buffers: " + sizesString(buffers, 0, buffers.length), e); } QueryData newHeader = header.build(); return new QueryBatch(newHeader, buffers); }