private bool CalculateReshapeSubcurves( [NotNull] IPolyline preprocessedSourcePolyline, [NotNull] IPolyline targetPolyline, [NotNull] IGeometryCollection differences, [NotNull] IPointCollection intersectionPoints, [NotNull] ICollection <CutSubcurve> resultList, [CanBeNull] ITrackCancel trackCancel) { var canReshape = false; foreach ( CutSubcurve subcurve in CalculateReshapeSubcurves(preprocessedSourcePolyline, differences, intersectionPoints, targetPolyline)) { if (trackCancel != null && !trackCancel.Continue()) { return(canReshape); } if (subcurve.CanReshape) { canReshape = true; } subcurve.IsFiltered = SubcurveFilter != null && SubcurveFilter.IsExcluded(subcurve); resultList.Add(subcurve); } return(canReshape); }