Program: 70716
Project: 70716
Buggy source:
ICubeQueryDefinition createMirroredQueryDefinition(){
  ICubeQueryDefinition cqd=new CubeQueryDefinition(cubeName);
  cqd.createMeasure("String_Node_Str");
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.ROW_EDGE);
  IDimensionDefinition productLineDim1=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition porductLineHie1=productLineDim1.createHierarchy("String_Node_Str");
  ILevelDefinition columnLevel1=porductLineHie1.createLevel("String_Node_Str");
  IDimensionDefinition productLineDim2=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition porductLineHie2=productLineDim2.createHierarchy("String_Node_Str");
  ILevelDefinition columnLevel2=porductLineHie2.createLevel("String_Node_Str");
  columnEdge.setMirrorStartingLevel(columnLevel2);
  IEdgeDefinition rowEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition geographyDim1=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier1=geographyDim1.createHierarchy("String_Node_Str");
  geographyHier1.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim2=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier2=geographyDim2.createHierarchy("String_Node_Str");
  geographyHier2.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim3=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier3=geographyDim3.createHierarchy("String_Node_Str");
  ILevelDefinition startLevel=geographyHier3.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim4=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier4=geographyDim4.createHierarchy("String_Node_Str");
  geographyHier4.createLevel("String_Node_Str");
  rowEdge.setMirrorStartingLevel(startLevel);
  return cqd;
}

Fixed version (ground truth):
ICubeQueryDefinition createMirroredQueryDefinition(String cubeName,boolean breakHierarchy){
  ICubeQueryDefinition cqd=new CubeQueryDefinition(cubeName);
  cqd.createMeasure("String_Node_Str");
  IEdgeDefinition columnEdge=cqd.createEdge(ICubeQueryDefinition.ROW_EDGE);
  IDimensionDefinition productLineDim1=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition porductLineHie1=productLineDim1.createHierarchy("String_Node_Str");
  ILevelDefinition columnLevel1=porductLineHie1.createLevel("String_Node_Str");
  IDimensionDefinition productLineDim2=columnEdge.createDimension("String_Node_Str");
  IHierarchyDefinition porductLineHie2=productLineDim2.createHierarchy("String_Node_Str");
  ILevelDefinition columnLevel2=porductLineHie2.createLevel("String_Node_Str");
  columnEdge.creatMirrorDefinition(columnLevel2,breakHierarchy);
  IEdgeDefinition rowEdge=cqd.createEdge(ICubeQueryDefinition.COLUMN_EDGE);
  IDimensionDefinition geographyDim1=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier1=geographyDim1.createHierarchy("String_Node_Str");
  geographyHier1.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim2=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier2=geographyDim2.createHierarchy("String_Node_Str");
  geographyHier2.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim3=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier3=geographyDim3.createHierarchy("String_Node_Str");
  ILevelDefinition startLevel=geographyHier3.createLevel("String_Node_Str");
  IDimensionDefinition geographyDim4=rowEdge.createDimension("String_Node_Str");
  IHierarchyDefinition geographyHier4=geographyDim4.createHierarchy("String_Node_Str");
  geographyHier4.createLevel("String_Node_Str");
  rowEdge.creatMirrorDefinition(startLevel,breakHierarchy);
  return cqd;
}