// extend the subtract polygon for segments that end
// at a common node with this building part's outline.
// (otherwise, the subtract polygon will probably
// not exactly line up with the polygon boundary)
WaySegmentWorldObject waySegmentWO = (WaySegmentWorldObject)o;
VectorXZ start = waySegmentWO.getStartPosition();
VectorXZ end = waySegmentWO.getEndPosition();
boolean startCommonNode = false;
boolean endCommonNode = false;
for (SimplePolygonXZ p : polygon.getPolygons()) {