Program: 39456
Project: 39456
Buggy source:
@Override public void messageReceived(ChannelHandlerContext ctx,MessageEvent e){
  String channelId="String_Node_Str" + e.getChannel().getId();
  String request=(String)e.getMessage();
  log.info(channelId + "String_Node_Str" + request);
  if (request.charAt(0) == '!' || request.charAt(0) == '#') {
    log.info("String_Node_Str" + request);
    ProtographClientEventHandler handler=client.getEventHandler();
    String[] eventParts=request.split("String_Node_Str");
    boolean isMessageEvent=(eventParts[0] == "String_Node_Str" ? true : false);
    String channelName=eventParts[1];
    String message=request.substring(request.indexOf("String_Node_Str" + channelName) + (channelName.length() + 1)).trim();
    if (null != handler) {
      if (isMessageEvent) {
        handler.onMessageEvent(channelName,message);
      }
 else {
        handler.onStatusEvent(request.substring(2).trim());
      }
    }
 else {
      if (isMessageEvent) {
        defaultEventHandler.onMessageEvent(channelName,message);
      }
 else {
        defaultEventHandler.onStatusEvent(request.substring(2).trim());
      }
    }
  }
 else   if (request.charAt(0) == '-') {
    log.info("String_Node_Str" + request);
    if (request.startsWith("String_Node_Str")) {
      log.info("String_Node_Str" + request);
    }
 else {
      if (request.startsWith(GraphServerProtocol.R_OK) || request.startsWith(GraphServerProtocol.R_BATCH_OK)) {
        currentResultHandler.onComplete();
      }
 else {
        currentResultHandler.onError(request);
        currentResultHandler.onComplete();
      }
    }
  }
 else {
    log.info("String_Node_Str" + request);
    currentResultHandler.onResult(request);
  }
}

Fixed version (ground truth):
@Override public void messageReceived(ChannelHandlerContext ctx,MessageEvent e){
  String channelId="String_Node_Str" + e.getChannel().getId();
  String request=(String)e.getMessage();
  if (request.charAt(0) == '!' || request.charAt(0) == '#') {
    ProtographClientEventHandler handler=client.getEventHandler();
    String[] eventParts=request.split("String_Node_Str");
    boolean isMessageEvent=(eventParts[0] == "String_Node_Str" ? true : false);
    String channelName=eventParts[1];
    String message=request.substring(request.indexOf("String_Node_Str" + channelName) + (channelName.length() + 1)).trim();
    if (null != handler) {
      if (isMessageEvent) {
        handler.onMessageEvent(channelName,message);
      }
 else {
        handler.onStatusEvent(request.substring(2).trim());
      }
    }
 else {
      if (isMessageEvent) {
        defaultEventHandler.onMessageEvent(channelName,message);
      }
 else {
        defaultEventHandler.onStatusEvent(request.substring(2).trim());
      }
    }
  }
 else   if (request.charAt(0) == '-') {
    if (request.startsWith("String_Node_Str")) {
    }
 else {
      if (request.startsWith(GraphServerProtocol.R_OK) || request.startsWith(GraphServerProtocol.R_BATCH_OK)) {
        currentResultHandler.onComplete();
      }
 else {
        currentResultHandler.onError(request);
        currentResultHandler.onComplete();
      }
    }
  }
 else {
    currentResultHandler.onResult(request);
  }
}