Program: 7898
Project: 7898
Buggy source:
private void handleTableOperation(MessageEvent message,HttpRequest request,MetricsHelper helper,LinkedList<String> pathComponents,Map<String,List<String>> parameters,OperationContext opContext){
  if (pathComponents.isEmpty()) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String tableName=pathComponents.removeFirst();
  String row=pathComponents.isEmpty() ? null : pathComponents.removeFirst();
  if (!pathComponents.isEmpty()) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  TableOp operation=null;
  List<String> operations=parameters.get("String_Node_Str");
  if (operations != null) {
    if (operations.size() > 1) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
 else     if (operations.size() == 1) {
      String op=operations.get(0);
      if ("String_Node_Str".equals(op)) {
        operation=TableOp.List;
      }
 else       if ("String_Node_Str".equals(op)) {
        operation=TableOp.Increment;
      }
 else {
        respondBadRequest(message,request,helper,"String_Node_Str");
        return;
      }
    }
  }
  List<String> columns=null;
  List<String> columnParams=parameters.get("String_Node_Str");
  if (columnParams != null && columnParams.size() > 0) {
    columns=Lists.newLinkedList();
    for (    String param : columnParams) {
      Collections.addAll(columns,param.split("String_Node_Str"));
    }
  }
  List<String> startParams=parameters.get("String_Node_Str");
  if (startParams != null && startParams.size() > 1) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String start=(startParams == null || startParams.isEmpty()) ? null : startParams.get(0);
  List<String> stopParams=parameters.get("String_Node_Str");
  if (stopParams != null && stopParams.size() > 1) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String stop=(stopParams == null || stopParams.isEmpty()) ? null : stopParams.get(0);
  List<String> limitParams=parameters.get("String_Node_Str");
  if (limitParams != null && limitParams.size() > 1) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  Integer limit;
  try {
    limit=(limitParams == null || limitParams.isEmpty()) ? null : Integer.parseInt(limitParams.get(0));
  }
 catch (  NumberFormatException e) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String encoding=null;
  List<String> encodingParams=parameters.get("String_Node_Str");
  if (encodingParams != null) {
    if (encodingParams.size() > 1) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (!encodingParams.isEmpty()) {
      encoding=encodingParams.get(0);
      if (!Util.supportedEncoding(encoding)) {
        respondBadRequest(message,request,helper,"String_Node_Str");
        return;
      }
    }
  }
  boolean counter=false;
  List<String> counterParams=parameters.get("String_Node_Str");
  if (counterParams != null) {
    if (counterParams.size() > 1) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (!counterParams.isEmpty()) {
      String param=counterParams.get(0);
      counter="String_Node_Str".equals(param) || "String_Node_Str".equals(param);
    }
  }
  HttpMethod method=request.getMethod();
  if (HttpMethod.GET.equals(method)) {
    if (operation == TableOp.List) {
      if (row != null) {
        respondBadRequest(message,request,helper,"String_Node_Str");
        return;
      }
 else {
        respondBadRequest(message,request,helper,"String_Node_Str",HttpResponseStatus.NOT_IMPLEMENTED);
        return;
      }
    }
    if (operation != null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (columns != null && !columns.isEmpty() && (start != null || stop != null)) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    operation=TableOp.Read;
  }
 else   if (HttpMethod.DELETE.equals(method)) {
    if (operation != null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (columns == null || columns.isEmpty()) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    operation=TableOp.Delete;
  }
 else   if (HttpMethod.PUT.equals(method)) {
    if (operation != null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      operation=TableOp.Create;
    }
 else {
      operation=TableOp.Write;
    }
  }
 else   if (HttpMethod.POST.equals(method)) {
    if (operation == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (operation != TableOp.Increment) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    operation=TableOp.Increment;
  }
  Type stringMapType=new TypeToken<Map<String,String>>(){
  }
.getType();
  Map<String,String> valueMap=null;
  try {
    if (operation == TableOp.Increment || operation == TableOp.Write) {
      InputStreamReader reader=new InputStreamReader(new ChannelBufferInputStream(request.getContent()),Charsets.UTF_8);
      if (operation == TableOp.Write) {
        valueMap=new Gson().fromJson(reader,stringMapType);
      }
 else {
        valueMap=new Gson().fromJson(reader,stringMapType);
      }
    }
  }
 catch (  Exception e) {
    respondBadRequest(message,request,helper,"String_Node_Str" + e.getMessage());
    return;
  }
  if (operation.equals(TableOp.Create)) {
    DataSetSpecification spec=new Table(tableName).configure();
    Dataset ds=new Dataset(spec.getName());
    ds.setName(spec.getName());
    ds.setType(spec.getType());
    ds.setSpecification(new Gson().toJson(spec));
    try {
      this.accessor.getMetadataService().assertDataset(new Account(opContext.getAccount()),ds);
    }
 catch (    MetadataServiceException e) {
      respondBadRequest(message,request,helper,"String_Node_Str",HttpResponseStatus.CONFLICT);
      return;
    }
catch (    TException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    respondSuccess(message.getChannel(),request);
    helper.finish(Success);
    return;
  }
  Table table;
  try {
    table=this.accessor.getInstantiator().getDataSet(tableName,opContext);
  }
 catch (  Exception e) {
    if (LOG.isTraceEnabled()) {
      LOG.trace("String_Node_Str" + tableName + "String_Node_Str"+ e.getMessage()+ "String_Node_Str"+ request.getUri()+ "String_Node_Str");
    }
    helper.finish(BadRequest);
    respondError(message.getChannel(),HttpResponseStatus.NOT_FOUND);
    return;
  }
  byte[] rowKey;
  try {
    rowKey=row == null ? null : Util.decodeBinary(row,encoding);
  }
 catch (  Exception e) {
    respondBadRequest(message,request,helper,"String_Node_Str",e);
    return;
  }
  if (operation.equals(TableOp.List)) {
  }
 else   if (operation.equals(TableOp.Read)) {
    Read read;
    try {
      if (columns == null || columns.isEmpty()) {
        byte[] startCol=start == null ? null : Util.decodeBinary(start,encoding);
        byte[] stopCol=stop == null ? null : Util.decodeBinary(stop,encoding);
        read=new Read(rowKey,startCol,stopCol,limit == null ? -1 : limit);
      }
 else {
        byte[][] cols=new byte[columns.size()][];
        int i=0;
        for (        String column : columns) {
          cols[i++]=Util.decodeBinary(column,encoding);
        }
        read=new Read(rowKey,cols);
      }
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    OperationResult<Map<byte[],byte[]>> result;
    try {
      result=table.read(read);
    }
 catch (    OperationException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    if (result.isEmpty() || result.getValue().isEmpty()) {
      helper.finish(NoData);
      respondError(message.getChannel(),HttpResponseStatus.NOT_FOUND);
    }
 else {
      Map<String,String> map=Maps.newTreeMap();
      for (      Map.Entry<byte[],byte[]> entry : result.getValue().entrySet()) {
        map.put(Util.encodeBinary(entry.getKey(),encoding),Util.encodeBinary(entry.getValue(),encoding,counter));
      }
      byte[] response=new Gson().toJson(map).getBytes(Charsets.UTF_8);
      respondSuccess(message.getChannel(),request,response);
      helper.finish(Success);
    }
  }
 else   if (operation.equals(TableOp.Delete)) {
    Delete delete;
    try {
      byte[][] cols=new byte[columns.size()][];
      int i=0;
      for (      String column : columns) {
        cols[i++]=Util.decodeBinary(column,encoding);
      }
      delete=new Delete(rowKey,cols);
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    try {
      table.write(delete);
    }
 catch (    OperationException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    helper.finish(Success);
    respondSuccess(message.getChannel(),request);
  }
 else   if (operation.equals(TableOp.Write)) {
    Write write;
    if (valueMap == null || valueMap.isEmpty()) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    try {
      byte[][] cols=new byte[valueMap.size()][];
      byte[][] vals=new byte[valueMap.size()][];
      int i=0;
      for (      Map.Entry<String,String> entry : valueMap.entrySet()) {
        cols[i]=Util.decodeBinary(entry.getKey(),encoding);
        vals[i]=Util.decodeBinary(entry.getValue(),encoding,counter);
        i++;
      }
      write=new Write(rowKey,cols,vals);
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    try {
      table.write(write);
    }
 catch (    OperationException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    helper.finish(Success);
    respondSuccess(message.getChannel(),request);
  }
 else   if (operation.equals(TableOp.Increment)) {
    Increment increment;
    if (valueMap == null || valueMap.isEmpty()) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    try {
      byte[][] cols=new byte[valueMap.size()][];
      long[] vals=new long[valueMap.size()];
      int i=0;
      for (      Map.Entry<String,String> entry : valueMap.entrySet()) {
        cols[i]=Util.decodeBinary(entry.getKey(),encoding);
        vals[i]=Long.parseLong(entry.getValue());
        i++;
      }
      increment=new Increment(rowKey,cols,vals);
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    Map<byte[],Long> results;
    try {
      results=table.incrementAndGet(increment);
    }
 catch (    OperationException e) {
      if (StatusCode.ILLEGAL_INCREMENT == e.getStatus()) {
        respondBadRequest(message,request,helper,"String_Node_Str");
      }
 else {
        helper.finish(Error);
        LOG.error("String_Node_Str" + e.getMessage(),e);
        respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      }
      return;
    }
    Map<String,Long> map=Maps.newTreeMap();
    for (    Map.Entry<byte[],Long> entry : results.entrySet()) {
      map.put(Util.encodeBinary(entry.getKey(),encoding),entry.getValue());
    }
    byte[] response=new Gson().toJson(map).getBytes(Charsets.UTF_8);
    respondSuccess(message.getChannel(),request,response);
    helper.finish(Success);
  }
}

Fixed version (ground truth):
private void handleTableOperation(MessageEvent message,HttpRequest request,MetricsHelper helper,LinkedList<String> pathComponents,Map<String,List<String>> parameters,OperationContext opContext){
  if (pathComponents.isEmpty()) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String tableName=pathComponents.removeFirst();
  String row=pathComponents.isEmpty() ? null : pathComponents.removeFirst();
  if (!pathComponents.isEmpty()) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  TableOp operation=null;
  List<String> operations=parameters.get("String_Node_Str");
  if (operations != null) {
    if (operations.size() > 1) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
 else     if (operations.size() == 1) {
      String op=operations.get(0);
      if ("String_Node_Str".equals(op)) {
        operation=TableOp.List;
      }
 else       if ("String_Node_Str".equals(op)) {
        operation=TableOp.Increment;
      }
 else {
        respondBadRequest(message,request,helper,"String_Node_Str");
        return;
      }
    }
  }
  List<String> columns=null;
  List<String> columnParams=parameters.get("String_Node_Str");
  if (columnParams != null && columnParams.size() > 0) {
    columns=Lists.newLinkedList();
    for (    String param : columnParams) {
      Collections.addAll(columns,param.split("String_Node_Str"));
    }
  }
  List<String> startParams=parameters.get("String_Node_Str");
  if (startParams != null && startParams.size() > 1) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String start=(startParams == null || startParams.isEmpty()) ? null : startParams.get(0);
  List<String> stopParams=parameters.get("String_Node_Str");
  if (stopParams != null && stopParams.size() > 1) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String stop=(stopParams == null || stopParams.isEmpty()) ? null : stopParams.get(0);
  List<String> limitParams=parameters.get("String_Node_Str");
  if (limitParams != null && limitParams.size() > 1) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  Integer limit;
  try {
    limit=(limitParams == null || limitParams.isEmpty()) ? null : Integer.parseInt(limitParams.get(0));
  }
 catch (  NumberFormatException e) {
    respondBadRequest(message,request,helper,"String_Node_Str");
    return;
  }
  String encoding=null;
  List<String> encodingParams=parameters.get("String_Node_Str");
  if (encodingParams != null) {
    if (encodingParams.size() > 1) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (!encodingParams.isEmpty()) {
      encoding=encodingParams.get(0);
      if (!Util.supportedEncoding(encoding)) {
        respondBadRequest(message,request,helper,"String_Node_Str");
        return;
      }
    }
  }
  boolean counter=false;
  List<String> counterParams=parameters.get("String_Node_Str");
  if (counterParams != null) {
    if (counterParams.size() > 1) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (!counterParams.isEmpty()) {
      String param=counterParams.get(0);
      counter="String_Node_Str".equals(param) || "String_Node_Str".equals(param);
    }
  }
  HttpMethod method=request.getMethod();
  if (HttpMethod.GET.equals(method)) {
    if (operation == TableOp.List) {
      if (row != null) {
        respondBadRequest(message,request,helper,"String_Node_Str");
        return;
      }
 else {
        respondBadRequest(message,request,helper,"String_Node_Str",HttpResponseStatus.NOT_IMPLEMENTED);
        return;
      }
    }
    if (operation != null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (columns != null && !columns.isEmpty() && (start != null || stop != null)) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    operation=TableOp.Read;
  }
 else   if (HttpMethod.DELETE.equals(method)) {
    if (operation != null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (columns == null || columns.isEmpty()) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    operation=TableOp.Delete;
  }
 else   if (HttpMethod.PUT.equals(method)) {
    if (operation != null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      operation=TableOp.Create;
    }
 else {
      operation=TableOp.Write;
    }
  }
 else   if (HttpMethod.POST.equals(method)) {
    if (operation == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (operation != TableOp.Increment) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    if (row == null) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    operation=TableOp.Increment;
  }
  Type stringMapType=new TypeToken<Map<String,String>>(){
  }
.getType();
  Map<String,String> valueMap=null;
  try {
    if (operation == TableOp.Increment || operation == TableOp.Write) {
      InputStreamReader reader=new InputStreamReader(new ChannelBufferInputStream(request.getContent()),Charsets.UTF_8);
      if (operation == TableOp.Write) {
        valueMap=new Gson().fromJson(reader,stringMapType);
      }
 else {
        valueMap=new Gson().fromJson(reader,stringMapType);
      }
    }
  }
 catch (  Exception e) {
    respondBadRequest(message,request,helper,"String_Node_Str" + e.getMessage());
    return;
  }
  if (operation.equals(TableOp.Create)) {
    DataSetSpecification spec=new Table(tableName).configure();
    Dataset ds=new Dataset(spec.getName());
    ds.setName(spec.getName());
    ds.setType(spec.getType());
    ds.setSpecification(new Gson().toJson(spec));
    try {
      this.accessor.getMetadataService().assertDataset(new Account(opContext.getAccount()),ds);
    }
 catch (    MetadataServiceException e) {
      respondBadRequest(message,request,helper,"String_Node_Str",HttpResponseStatus.CONFLICT);
      return;
    }
catch (    TException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    respondSuccess(message.getChannel(),request);
    helper.finish(Success);
    return;
  }
  Table table;
  try {
    table=this.accessor.getInstantiator().getDataSet(tableName,opContext);
  }
 catch (  Exception e) {
    if (LOG.isTraceEnabled()) {
      LOG.trace("String_Node_Str" + tableName + "String_Node_Str"+ e.getMessage()+ "String_Node_Str"+ request.getUri()+ "String_Node_Str");
    }
    helper.finish(BadRequest);
    respondError(message.getChannel(),HttpResponseStatus.NOT_FOUND,"String_Node_Str");
    return;
  }
  byte[] rowKey;
  try {
    rowKey=row == null ? null : Util.decodeBinary(row,encoding);
  }
 catch (  Exception e) {
    respondBadRequest(message,request,helper,"String_Node_Str",e);
    return;
  }
  if (operation.equals(TableOp.List)) {
  }
 else   if (operation.equals(TableOp.Read)) {
    Read read;
    try {
      if (columns == null || columns.isEmpty()) {
        byte[] startCol=start == null ? null : Util.decodeBinary(start,encoding);
        byte[] stopCol=stop == null ? null : Util.decodeBinary(stop,encoding);
        read=new Read(rowKey,startCol,stopCol,limit == null ? -1 : limit);
      }
 else {
        byte[][] cols=new byte[columns.size()][];
        int i=0;
        for (        String column : columns) {
          cols[i++]=Util.decodeBinary(column,encoding);
        }
        read=new Read(rowKey,cols);
      }
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    OperationResult<Map<byte[],byte[]>> result;
    try {
      result=table.read(read);
    }
 catch (    OperationException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    if (result.isEmpty() || result.getValue().isEmpty()) {
      helper.finish(NoData);
      respondError(message.getChannel(),HttpResponseStatus.NOT_FOUND);
    }
 else {
      Map<String,String> map=Maps.newTreeMap();
      for (      Map.Entry<byte[],byte[]> entry : result.getValue().entrySet()) {
        map.put(Util.encodeBinary(entry.getKey(),encoding),Util.encodeBinary(entry.getValue(),encoding,counter));
      }
      byte[] response=new Gson().toJson(map).getBytes(Charsets.UTF_8);
      respondSuccess(message.getChannel(),request,response);
      helper.finish(Success);
    }
  }
 else   if (operation.equals(TableOp.Delete)) {
    Delete delete;
    try {
      byte[][] cols=new byte[columns.size()][];
      int i=0;
      for (      String column : columns) {
        cols[i++]=Util.decodeBinary(column,encoding);
      }
      delete=new Delete(rowKey,cols);
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    try {
      table.write(delete);
    }
 catch (    OperationException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    helper.finish(Success);
    respondSuccess(message.getChannel(),request);
  }
 else   if (operation.equals(TableOp.Write)) {
    Write write;
    if (valueMap == null || valueMap.isEmpty()) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    try {
      byte[][] cols=new byte[valueMap.size()][];
      byte[][] vals=new byte[valueMap.size()][];
      int i=0;
      for (      Map.Entry<String,String> entry : valueMap.entrySet()) {
        cols[i]=Util.decodeBinary(entry.getKey(),encoding);
        vals[i]=Util.decodeBinary(entry.getValue(),encoding,counter);
        i++;
      }
      write=new Write(rowKey,cols,vals);
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    try {
      table.write(write);
    }
 catch (    OperationException e) {
      helper.finish(Error);
      LOG.error("String_Node_Str" + e.getMessage(),e);
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      return;
    }
    helper.finish(Success);
    respondSuccess(message.getChannel(),request);
  }
 else   if (operation.equals(TableOp.Increment)) {
    Increment increment;
    if (valueMap == null || valueMap.isEmpty()) {
      respondBadRequest(message,request,helper,"String_Node_Str");
      return;
    }
    try {
      byte[][] cols=new byte[valueMap.size()][];
      long[] vals=new long[valueMap.size()];
      int i=0;
      for (      Map.Entry<String,String> entry : valueMap.entrySet()) {
        cols[i]=Util.decodeBinary(entry.getKey(),encoding);
        vals[i]=Long.parseLong(entry.getValue());
        i++;
      }
      increment=new Increment(rowKey,cols,vals);
    }
 catch (    Exception e) {
      respondBadRequest(message,request,helper,"String_Node_Str",e);
      return;
    }
    Map<byte[],Long> results;
    try {
      results=table.incrementAndGet(increment);
    }
 catch (    OperationException e) {
      if (StatusCode.ILLEGAL_INCREMENT == e.getStatus()) {
        respondBadRequest(message,request,helper,"String_Node_Str");
      }
 else {
        helper.finish(Error);
        LOG.error("String_Node_Str" + e.getMessage(),e);
        respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR);
      }
      return;
    }
    Map<String,Long> map=Maps.newTreeMap();
    for (    Map.Entry<byte[],Long> entry : results.entrySet()) {
      map.put(Util.encodeBinary(entry.getKey(),encoding),entry.getValue());
    }
    byte[] response=new Gson().toJson(map).getBytes(Charsets.UTF_8);
    respondSuccess(message.getChannel(),request,response);
    helper.finish(Success);
  }
}