in commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/RegionBSPTree1D.java [374:399]
private void visitNodeInterval(final BiConsumer<? super OrientedPoint, ? super OrientedPoint> visitor) {
OrientedPoint min = null;
OrientedPoint max = null;
OrientedPoint pt;
RegionNode1D child = this;
RegionNode1D parent;
while ((min == null || max == null) && (parent = child.getParent()) != null) {
pt = (OrientedPoint) parent.getCutHyperplane();
if ((pt.isPositiveFacing() && child.isMinus()) ||
(!pt.isPositiveFacing() && child.isPlus())) {
if (max == null) {
max = pt;
}
} else if (min == null) {
min = pt;
}
child = parent;
}
visitor.accept(min, max);
}