Program: 31240
Project: 31240
Buggy source:
@SuppressWarnings("String_Node_Str") @Override public void resume(IOContext context) throws IOException {
  QueryHandlerContext ctx=localContext.get(context);
  if (ctx == null || ctx.cursor == null) {
    return;
  }
  final ChunkedResponse r=context.chunkedResponse();
  final int columnCount=ctx.metadata.getColumnCount();
  OUT:   while (true) {
    try {
      SWITCH: switch (ctx.queryState) {
case QUERY_PREFIX:
        if (ctx.noMeta) {
          r.put("String_Node_Str");
          ctx.queryState=QUERY_RECORD_START;
          break;
        }
      r.bookmark();
    r.put('{').putQuoted("String_Node_Str").put(':').putUtf8EscapedAndQuoted(ctx.query);
  r.put(',').putQuoted("String_Node_Str").put(':').put('[');
ctx.queryState=QUERY_METADATA;
ctx.columnIndex=0;
case QUERY_METADATA:
for (; ctx.columnIndex < columnCount; ctx.columnIndex++) {
RecordColumnMetadata column=ctx.metadata.getColumnQuick(ctx.columnIndex);
r.bookmark();
if (ctx.columnIndex > 0) {
r.put(',');
}
r.put('{').putQuoted("String_Node_Str").put(':').putQuoted(column.getName()).put(',').putQuoted("String_Node_Str").put(':').putQuoted(ColumnType.nameOf(column.getType()));
r.put('}');
}
ctx.queryState=QUERY_META_SUFFIX;
case QUERY_META_SUFFIX:
r.bookmark();
r.put("String_Node_Str");
ctx.queryState=QUERY_RECORD_START;
case QUERY_RECORD_START:
if (ctx.record == null) {
while (true) {
if (ctx.cursor.hasNext()) {
ctx.record=ctx.cursor.next();
ctx.count++;
if (ctx.fetchAll && ctx.count > ctx.stop) {
continue;
}
if (ctx.count > ctx.skip) {
break;
}
}
 else {
ctx.queryState=QUERY_DATA_SUFFIX;
break SWITCH;
}
}
}
if (ctx.count > ctx.stop) {
ctx.queryState=QUERY_DATA_SUFFIX;
break;
}
r.bookmark();
if (ctx.count > ctx.skip + 1) {
r.put(',');
}
r.put('[');
ctx.queryState=QUERY_RECORD_COLUMNS;
ctx.columnIndex=0;
case QUERY_RECORD_COLUMNS:
for (; ctx.columnIndex < columnCount; ctx.columnIndex++) {
RecordColumnMetadata m=ctx.metadata.getColumnQuick(ctx.columnIndex);
r.bookmark();
if (ctx.columnIndex > 0) {
r.put(',');
}
putValue(r,m.getType(),ctx.record,ctx.columnIndex);
}
ctx.queryState=QUERY_RECORD_SUFFIX;
case QUERY_RECORD_SUFFIX:
r.bookmark();
r.put(']');
ctx.record=null;
ctx.queryState=QUERY_RECORD_START;
break;
case QUERY_DATA_SUFFIX:
sendDone(r,ctx);
break OUT;
default :
break OUT;
}
}
 catch (ResponseContentBufferTooSmallException ignored) {
if (r.resetToBookmark()) {
r.sendChunk();
}
 else {
ctx.info().$("String_Node_Str").$(ctx.queryState).$();
throw DisconnectedChannelException.INSTANCE;
}
}
}
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override public void resume(IOContext context) throws IOException {
  QueryHandlerContext ctx=localContext.get(context);
  if (ctx == null || ctx.cursor == null) {
    return;
  }
  final ChunkedResponse r=context.chunkedResponse();
  final int columnCount=ctx.metadata.getColumnCount();
  OUT:   while (true) {
    try {
      SWITCH: switch (ctx.queryState) {
case QUERY_PREFIX:
        if (ctx.noMeta) {
          r.put('{').putQuoted("String_Node_Str").put("String_Node_Str");
          ctx.queryState=QUERY_RECORD_START;
          break;
        }
      r.bookmark();
    r.put('{').putQuoted("String_Node_Str").put(':').putUtf8EscapedAndQuoted(ctx.query);
  r.put(',').putQuoted("String_Node_Str").put(':').put('[');
ctx.queryState=QUERY_METADATA;
ctx.columnIndex=0;
case QUERY_METADATA:
for (; ctx.columnIndex < columnCount; ctx.columnIndex++) {
RecordColumnMetadata column=ctx.metadata.getColumnQuick(ctx.columnIndex);
r.bookmark();
if (ctx.columnIndex > 0) {
r.put(',');
}
r.put('{').putQuoted("String_Node_Str").put(':').putQuoted(column.getName()).put(',').putQuoted("String_Node_Str").put(':').putQuoted(ColumnType.nameOf(column.getType()));
r.put('}');
}
ctx.queryState=QUERY_META_SUFFIX;
case QUERY_META_SUFFIX:
r.bookmark();
r.put("String_Node_Str");
ctx.queryState=QUERY_RECORD_START;
case QUERY_RECORD_START:
if (ctx.record == null) {
while (true) {
if (ctx.cursor.hasNext()) {
ctx.record=ctx.cursor.next();
ctx.count++;
if (ctx.fetchAll && ctx.count > ctx.stop) {
continue;
}
if (ctx.count > ctx.skip) {
break;
}
}
 else {
ctx.queryState=QUERY_DATA_SUFFIX;
break SWITCH;
}
}
}
if (ctx.count > ctx.stop) {
ctx.queryState=QUERY_DATA_SUFFIX;
break;
}
r.bookmark();
if (ctx.count > ctx.skip + 1) {
r.put(',');
}
r.put('[');
ctx.queryState=QUERY_RECORD_COLUMNS;
ctx.columnIndex=0;
case QUERY_RECORD_COLUMNS:
for (; ctx.columnIndex < columnCount; ctx.columnIndex++) {
RecordColumnMetadata m=ctx.metadata.getColumnQuick(ctx.columnIndex);
r.bookmark();
if (ctx.columnIndex > 0) {
r.put(',');
}
putValue(r,m.getType(),ctx.record,ctx.columnIndex);
}
ctx.queryState=QUERY_RECORD_SUFFIX;
case QUERY_RECORD_SUFFIX:
r.bookmark();
r.put(']');
ctx.record=null;
ctx.queryState=QUERY_RECORD_START;
break;
case QUERY_DATA_SUFFIX:
sendDone(r,ctx);
break OUT;
default :
break OUT;
}
}
 catch (ResponseContentBufferTooSmallException ignored) {
if (r.resetToBookmark()) {
r.sendChunk();
}
 else {
ctx.info().$("String_Node_Str").$(ctx.queryState).$();
throw DisconnectedChannelException.INSTANCE;
}
}
}
}