@Override
public TantrixPath mutate(TilePlacement pivotTile, TantrixPath subPath) {
TilePlacementList tiles = new TilePlacementList();
TilePlacementList subPathTiles = subPath.getTilePlacements();
TilePlacement firstTile = subPathTiles.get(0);
Location firstTileLocation = firstTile.getLocation();
int numRotations = findRotationsToSwapLocation(firstTileLocation, pivotTile);
int directionToPivot = findOutgoingDirection(firstTile, pivotTile.getLocation());
Location newLocation = HexUtil.getNeighborLocation(pivotTile.getLocation(), numRotations);
Location origLocation = pivotTile.getLocation();
numRotations = numRotations + 3 - directionToPivot;
Rotation tileRotation = firstTile.getRotation().rotateBy(numRotations);
TilePlacement previousTilePlacement = new TilePlacement(firstTile.getTile(), newLocation, tileRotation);