Program: 28981
Project: 28981
Buggy source:
public static EventHolder parse(AbstractDefinition tableDefinition,StreamEventPool tableStreamEventPool){
  ZeroStreamEventConverter eventConverter=new ZeroStreamEventConverter();
  Annotation indexByAnnotation=AnnotationHelper.getAnnotation(SiddhiConstants.ANNOTATION_INDEX_BY,tableDefinition.getAnnotations());
  if (indexByAnnotation != null) {
    if (indexByAnnotation.getElements().size() > 1) {
      throw new OperationNotSupportedException(SiddhiConstants.ANNOTATION_INDEX_BY + "String_Node_Str" + indexByAnnotation.getElements().size()+ "String_Node_Str");
    }
    if (indexByAnnotation.getElements().size() == 0) {
      throw new ExecutionPlanValidationException(SiddhiConstants.ANNOTATION_INDEX_BY + "String_Node_Str" + indexByAnnotation.getElements().size()+ "String_Node_Str");
    }
    String indexAttributesString=indexByAnnotation.getElements().get(0).getValue();
    String[] indexAttributes=indexAttributesString.split("String_Node_Str");
    if (indexAttributes.length > 1) {
      int indexPosition=tableDefinition.getAttributePosition(indexAttributes[0].trim());
      Map<String,Integer> indexMetaData=new HashMap<String,Integer>();
      for (int i=1; i == indexAttributes.length - 1; i++) {
        indexMetaData.put(indexAttributes[i].trim(),tableDefinition.getAttributePosition(indexAttributes[i].trim()));
      }
      return new PrimaryKeyIndexEventHolder(tableStreamEventPool,eventConverter,indexPosition,indexAttributes[0].trim(),indexMetaData);
    }
 else {
      int indexPosition=tableDefinition.getAttributePosition(indexAttributes[0].trim());
      return new PrimaryKeyEventHolder(tableStreamEventPool,eventConverter,indexPosition,indexAttributes[0].trim());
    }
  }
 else {
    return new ListEventHolder(tableStreamEventPool,eventConverter);
  }
}

Fixed version (ground truth):
public static EventHolder parse(AbstractDefinition tableDefinition,StreamEventPool tableStreamEventPool){
  ZeroStreamEventConverter eventConverter=new ZeroStreamEventConverter();
  Annotation indexByAnnotation=AnnotationHelper.getAnnotation(SiddhiConstants.ANNOTATION_INDEX_BY,tableDefinition.getAnnotations());
  if (indexByAnnotation != null) {
    if (indexByAnnotation.getElements().size() > 1) {
      throw new OperationNotSupportedException(SiddhiConstants.ANNOTATION_INDEX_BY + "String_Node_Str" + indexByAnnotation.getElements().size()+ "String_Node_Str");
    }
    if (indexByAnnotation.getElements().size() == 0) {
      throw new ExecutionPlanValidationException(SiddhiConstants.ANNOTATION_INDEX_BY + "String_Node_Str" + indexByAnnotation.getElements().size()+ "String_Node_Str");
    }
    String indexAttributesString=indexByAnnotation.getElements().get(0).getValue();
    String[] indexAttributes=indexAttributesString.split("String_Node_Str");
    if (indexAttributes.length > 1) {
      int indexPosition=tableDefinition.getAttributePosition(indexAttributes[0].trim());
      Map<String,Integer> indexMetaData=new HashMap<String,Integer>();
      for (int i=1; i < indexAttributes.length; i++) {
        indexMetaData.put(indexAttributes[i].trim(),tableDefinition.getAttributePosition(indexAttributes[i].trim()));
      }
      return new PrimaryKeyIndexEventHolder(tableStreamEventPool,eventConverter,indexPosition,indexAttributes[0].trim(),indexMetaData);
    }
 else {
      int indexPosition=tableDefinition.getAttributePosition(indexAttributes[0].trim());
      return new PrimaryKeyEventHolder(tableStreamEventPool,eventConverter,indexPosition,indexAttributes[0].trim());
    }
  }
 else {
    return new ListEventHolder(tableStreamEventPool,eventConverter);
  }
}