Program: 134271
Project: 134271
Buggy source:
public static boolean generateMaze(World world,Random random,BlockCoord coord,List<MazeComponentPosition> placedComponents,int[] roomSize,int layer){
  int[] pathLengths=new int[]{0,0,0};
  for (  MazeComponentPosition position : placedComponents) {
    String identifier=position.getComponent().getIdentifier();
    int splitIndex0=identifier.lastIndexOf("String_Node_Str");
    boolean mirror=Boolean.valueOf(identifier.substring(splitIndex0 + 1));
    int splitIndex1=identifier.lastIndexOf("String_Node_Str",splitIndex0 - 1);
    String structure=identifier.substring(0,splitIndex1);
    int rotations=Integer.valueOf(identifier.substring(splitIndex1 + 1,splitIndex0));
    MazeRoom mazePosition=position.getPositionInMaze();
    int[] scaledCompMazePosition=Maze.getRoomPosition(mazePosition,pathLengths,roomSize);
    AxisAlignedTransform2D componentTransform=AxisAlignedTransform2D.transform(rotations,mirror);
    StructureInfo compStructureInfo=StructureHandler.getStructure(structure);
    if (compStructureInfo != null) {
      int[] compSize=compStructureInfo.structureBoundingBox();
      int[] sizeDependentShift=new int[]{(roomSize[0] - compSize[0]) / 2};
      BlockCoord compMazeCoordLower=coord.add(scaledCompMazePosition[0] + sizeDependentShift[0],scaledCompMazePosition[1] + sizeDependentShift[1],scaledCompMazePosition[2] + +sizeDependentShift[2]);
      compStructureInfo.generate(world,random,compMazeCoordLower,componentTransform,layer + 1);
    }
 else {
      StructureGen.logger.error("String_Node_Str" + structure + "String_Node_Str");
    }
  }
  return true;
}

Fixed version (ground truth):
public static boolean generateMaze(World world,Random random,BlockCoord coord,List<MazeComponentPosition> placedComponents,int[] roomSize,int layer){
  int[] pathLengths=new int[]{0,0,0};
  for (  MazeComponentPosition position : placedComponents) {
    String identifier=position.getComponent().getIdentifier();
    int splitIndex0=identifier.lastIndexOf("String_Node_Str");
    boolean mirror=Boolean.valueOf(identifier.substring(splitIndex0 + 1));
    int splitIndex1=identifier.lastIndexOf("String_Node_Str",splitIndex0 - 1);
    String structure=identifier.substring(0,splitIndex1);
    int rotations=Integer.valueOf(identifier.substring(splitIndex1 + 1,splitIndex0));
    MazeRoom mazePosition=position.getPositionInMaze();
    int[] scaledCompMazePosition=Maze.getRoomPosition(mazePosition,pathLengths,roomSize);
    AxisAlignedTransform2D componentTransform=AxisAlignedTransform2D.transform(rotations,mirror);
    StructureInfo compStructureInfo=StructureHandler.getStructure(structure);
    if (compStructureInfo != null) {
      int[] compSize=compStructureInfo.structureBoundingBox();
      int[] sizeDependentShift=new int[]{(roomSize[0] - compSize[0]) / 2,(roomSize[1] - compSize[1]) / 2,(roomSize[2] - compSize[2]) / 2};
      BlockCoord compMazeCoordLower=coord.add(scaledCompMazePosition[0] + sizeDependentShift[0],scaledCompMazePosition[1] + sizeDependentShift[1],scaledCompMazePosition[2] + +sizeDependentShift[2]);
      compStructureInfo.generate(world,random,compMazeCoordLower,componentTransform,layer + 1);
    }
 else {
      StructureGen.logger.error("String_Node_Str" + structure + "String_Node_Str");
    }
  }
  return true;
}