PreOrderDiffWalk visitor = new PreOrderDiffWalk(left, right, leftSource, rightSource);
CoordinateReferenceSystem crs = resolveCrs();
BoundsWalk walk = new BoundsWalk(crs, stagingDatabase());
PreOrderDiffWalk.Consumer consumer = walk;
if (!pathFilters.isEmpty()) {
consumer = new PathFilteringDiffConsumer(pathFilters, walk);
}
visitor.walk(consumer);
DiffSummary<BoundingBox, BoundingBox> diffBounds = walk.getResult();
return diffBounds;
}