Program: 105751
Project: 105751
Buggy source:
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) @Override public void handle(final DispatchTask task) throws ServerApiException {
  final Map<String,Object> lowercaseParams=new HashMap<String,Object>();
  final Map<String,String> params=task.getParams();
  for (  final String key : params.keySet()) {
    final int arrayStartIndex=key.indexOf('[');
    final int arrayStartLastIndex=key.lastIndexOf('[');
    if (arrayStartIndex != arrayStartLastIndex) {
      throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
    }
    if (arrayStartIndex > 0) {
      final int arrayEndIndex=key.indexOf(']');
      final int arrayEndLastIndex=key.lastIndexOf(']');
      if ((arrayEndIndex < arrayStartIndex) || (arrayEndIndex != arrayEndLastIndex)) {
        throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
      }
      final int fieldIndex=key.indexOf('.');
      String fieldName=null;
      if (fieldIndex < arrayEndIndex) {
        throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
      }
 else {
        fieldName=key.substring(fieldIndex + 1);
      }
      String paramName=key.substring(0,arrayStartIndex);
      paramName=paramName.toLowerCase();
      Map<Integer,Map> mapArray=null;
      Map<String,Object> mapValue=null;
      final String indexStr=key.substring(arrayStartIndex + 1,arrayEndIndex);
      int index=0;
      boolean parsedIndex=false;
      try {
        if (indexStr != null) {
          index=Integer.parseInt(indexStr);
          parsedIndex=true;
        }
      }
 catch (      final NumberFormatException nfe) {
        s_logger.warn("String_Node_Str" + key + "String_Node_Str");
      }
      if (!parsedIndex) {
        throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
      }
      final Object value=lowercaseParams.get(paramName);
      if (value == null) {
        mapArray=new HashMap<Integer,Map>();
        mapValue=new HashMap<String,Object>();
        mapArray.put(Integer.valueOf(index),mapValue);
      }
 else       if (value instanceof Map) {
        mapArray=(HashMap)value;
        mapValue=mapArray.get(Integer.valueOf(index));
        if (mapValue == null) {
          mapValue=new HashMap<String,Object>();
          mapArray.put(Integer.valueOf(index),mapValue);
        }
      }
      mapValue.put(fieldName,params.get(key));
      lowercaseParams.put(paramName,mapArray);
    }
 else {
      lowercaseParams.put(key.toLowerCase(),params.get(key));
    }
  }
  task.setParams(lowercaseParams);
}

Fixed version (ground truth):
@SuppressWarnings({"String_Node_Str","String_Node_Str"}) @Override public void handle(final DispatchTask task) throws ServerApiException {
  final Map<String,Object> lowercaseParams=new HashMap<String,Object>();
  final Map<String,String> params=task.getParams();
  for (  final Map.Entry<String,String> entry : params.entrySet()) {
    final String key=entry.getKey();
    final int arrayStartIndex=key.indexOf('[');
    final int arrayStartLastIndex=key.lastIndexOf('[');
    if (arrayStartIndex != arrayStartLastIndex) {
      throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
    }
    if (arrayStartIndex > 0) {
      final int arrayEndIndex=key.indexOf(']');
      final int arrayEndLastIndex=key.lastIndexOf(']');
      if ((arrayEndIndex < arrayStartIndex) || (arrayEndIndex != arrayEndLastIndex)) {
        throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
      }
      final int fieldIndex=key.indexOf('.');
      String fieldName=null;
      if (fieldIndex < arrayEndIndex) {
        throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
      }
 else {
        fieldName=key.substring(fieldIndex + 1);
      }
      String paramName=key.substring(0,arrayStartIndex);
      paramName=paramName.toLowerCase();
      Map<Integer,Map> mapArray=null;
      Map<String,Object> mapValue=null;
      final String indexStr=key.substring(arrayStartIndex + 1,arrayEndIndex);
      int index=0;
      boolean parsedIndex=false;
      try {
        if (indexStr != null) {
          index=Integer.parseInt(indexStr);
          parsedIndex=true;
        }
      }
 catch (      final NumberFormatException nfe) {
        s_logger.warn("String_Node_Str" + key + "String_Node_Str");
      }
      if (!parsedIndex) {
        throw new ServerApiException(ApiErrorCode.MALFORMED_PARAMETER_ERROR,"String_Node_Str" + key + "String_Node_Str");
      }
      final Object value=lowercaseParams.get(paramName);
      if (value == null) {
        mapArray=new HashMap<Integer,Map>();
        mapValue=new HashMap<String,Object>();
        mapArray.put(Integer.valueOf(index),mapValue);
      }
 else       if (value instanceof Map) {
        mapArray=(HashMap)value;
        mapValue=mapArray.get(Integer.valueOf(index));
        if (mapValue == null) {
          mapValue=new HashMap<String,Object>();
          mapArray.put(Integer.valueOf(index),mapValue);
        }
      }
      mapValue.put(fieldName,entry.getValue());
      lowercaseParams.put(paramName,mapArray);
    }
 else {
      lowercaseParams.put(key.toLowerCase(),entry.getValue());
    }
  }
  task.setParams(lowercaseParams);
}