+ private boolean hasMatchingPaths(Set<Path> leftPaths, Set<Path> rightPaths) {\r
+ if (leftPaths.size() != rightPaths.size())\r
+ return false;\r
+ BijectionMap<Path,Path> map = getMatchingPaths(leftPaths, rightPaths);\r
+ return map.size() == leftPaths.size();\r
+ \r
+ }\r
+ \r
+ private BijectionMap<Path,Path> getMatchingPaths(Set<Path> leftPaths, Set<Path> rightPaths) {\r
+ BijectionMap<Path,Path> map = new BijectionMap<Path, Path>();\r
+ for (Path leftPath : leftPaths) {\r
+ for (Path rightPath : rightPaths) {\r
+ if (map.containsRight(rightPath))\r
+ continue;\r
+ if (leftPath.getLength() != rightPath.getLength())\r
+ continue;\r
+ if (comparableResources.contains(leftPath.getEnd(), rightPath.getEnd())) {\r
+ map.map(leftPath, rightPath);\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ return map;\r
+ }\r
+ \r