* @return null if the resulting permuted path is not valid (i.e. has overlaps)
*/
private TantrixPath createPermutedPath(TantrixPath subPath1, TantrixPath subPath2) {
// add tiles from the first path in reverse order
TilePlacementList tiles = new TilePlacementList();
for (TilePlacement p : subPath1.getTilePlacements()) {
tiles.addFirst(p);
}
tiles.addAll(pivotPath.getTilePlacements());
tiles.addAll(subPath2.getTilePlacements());
TantrixPath path = null;
if (isValid(tiles)) {
assert (TantrixPath.hasOrderedPrimaryPath(tiles, path_.getPrimaryPathColor())) :
"out of order path tiles \nsubpath1" + subPath1 + "\npivot="+ pivotPath
+ "\nsubpath2=" + subPath2 + "\norigPath="+ path_;