+ private static BranchPoint[] cloneBranchPoints(BranchPoint[] oldBranchPoints) {\r
+ BranchPoint[] newBranchPoints = new BranchPoint[oldBranchPoints.length];\r
+ for (int i = 0; i < oldBranchPoints.length; i++) {\r
+ BranchPoint bp = oldBranchPoints[i];\r
+ BranchPoint[] children = cloneBranchPoints(bp.getChildren());\r
+ newBranchPoints[i] = new BranchPoint(bp.getLocation(), bp.getCodeSize(), children);\r
+ }\r
+ return newBranchPoints;\r
+ }\r
+ \r