Program: 7897
Project: 7897
Buggy source:
private void handleFlowOperation(MessageEvent message,HttpRequest request,GatewayMetricsHelperWrapper metricsHelper,AppFabricService.Client client,AuthToken token,FlowIdentifier flowIdent,Map<String,List<String>> parameters) throws TException, AppFabricServiceException {
  List<String> types=parameters.get("String_Node_Str");
  if (types == null || types.size() == 0) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (types.size() > 1) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (types.size() == 1 && !SUPPORTED_FLOW_TYPES.contains(types.get(0))) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  String flowType=types.get(0);
  if ("String_Node_Str".equals(flowType)) {
    flowIdent.setType(EntityType.FLOW);
  }
 else   if ("String_Node_Str".equals(flowType)) {
    flowIdent.setType(EntityType.QUERY);
  }
 else   if ("String_Node_Str".equals(flowType)) {
    flowIdent.setType(EntityType.MAPREDUCE);
  }
  List<String> operations=parameters.get("String_Node_Str");
  if (operations == null || operations.size() == 0) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (operations.size() > 1) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (operations.size() == 1 && !SUPPORTED_FLOW_OPERATIONS.contains(operations.get(0))) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  String operation=operations.get(0);
  if (("String_Node_Str".equals(operation) || "String_Node_Str".equals(operation)) && request.getMethod() != HttpMethod.POST) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  if ("String_Node_Str".equals(operation) && request.getMethod() != HttpMethod.GET) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  if ("String_Node_Str".equals(operation)) {
    client.start(token,new FlowDescriptor(flowIdent,new ArrayList<String>()));
    if (FLOW_STATUS_RUNNING.equals(client.status(token,flowIdent).getStatus())) {
      respondSuccess(message.getChannel(),request);
    }
 else {
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(operation)) {
    client.stop(token,flowIdent);
    if (FLOW_STATUS_STOPPED.equals(client.status(token,flowIdent).getStatus())) {
      respondSuccess(message.getChannel(),request);
    }
 else {
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(operation)) {
    FlowStatus flowStatus=client.status(token,flowIdent);
    if (flowStatus != null) {
      byte[] response=Bytes.toBytes("String_Node_Str" + flowStatus.getStatus() + "String_Node_Str");
      respondSuccess(message.getChannel(),request,response);
    }
 else {
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
    }
  }
}

Fixed version (ground truth):
private void handleFlowOperation(MessageEvent message,HttpRequest request,GatewayMetricsHelperWrapper metricsHelper,AppFabricService.Client client,AuthToken token,FlowIdentifier flowIdent,Map<String,List<String>> parameters) throws TException, AppFabricServiceException {
  List<String> types=parameters.get("String_Node_Str");
  if (types == null || types.size() == 0) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (types.size() > 1) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (types.size() == 1 && !SUPPORTED_FLOW_TYPES.contains(types.get(0))) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  String flowType=types.get(0);
  if ("String_Node_Str".equals(flowType)) {
    flowIdent.setType(EntityType.FLOW);
  }
 else   if ("String_Node_Str".equals(flowType)) {
    flowIdent.setType(EntityType.QUERY);
  }
 else   if ("String_Node_Str".equals(flowType)) {
    flowIdent.setType(EntityType.MAPREDUCE);
  }
  List<String> operations=parameters.get("String_Node_Str");
  if (operations == null || operations.size() == 0) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (operations.size() > 1) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
 else   if (operations.size() == 1 && !SUPPORTED_FLOW_OPERATIONS.contains(operations.get(0))) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  String operation=operations.get(0);
  if (("String_Node_Str".equals(operation) || "String_Node_Str".equals(operation)) && request.getMethod() != HttpMethod.POST) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  if ("String_Node_Str".equals(operation) && request.getMethod() != HttpMethod.GET) {
    respondBadRequest(message,request,metricsHelper,"String_Node_Str");
    return;
  }
  if ("String_Node_Str".equals(operation)) {
    client.start(token,new FlowDescriptor(flowIdent,ImmutableMap.<String,String>of()));
    if (FLOW_STATUS_RUNNING.equals(client.status(token,flowIdent).getStatus())) {
      respondSuccess(message.getChannel(),request);
    }
 else {
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(operation)) {
    client.stop(token,flowIdent);
    if (FLOW_STATUS_STOPPED.equals(client.status(token,flowIdent).getStatus())) {
      respondSuccess(message.getChannel(),request);
    }
 else {
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
    }
  }
 else   if ("String_Node_Str".equals(operation)) {
    FlowStatus flowStatus=client.status(token,flowIdent);
    if (flowStatus != null) {
      byte[] response=Bytes.toBytes("String_Node_Str" + flowStatus.getStatus() + "String_Node_Str");
      respondSuccess(message.getChannel(),request,response);
    }
 else {
      respondError(message.getChannel(),HttpResponseStatus.INTERNAL_SERVER_ERROR,"String_Node_Str");
    }
  }
}