diff --git a/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java
index 4292399a88..0d6809a286 100644
--- a/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java
+++ b/modules/core/src/main/java/org/locationtech/jts/geomgraph/GeometryGraph.java
@@ -221,12 +221,10 @@ private void add(Geometry g)
private void addCollection(GeometryCollection gc)
{
for (int i = 0; i < gc.getNumGeometries(); i++) {
- Geometry g = gc.getGeometryN(i);
- if (! g.isEmpty()) {
- add(g);
- }
+ add(gc.getGeometryN(i));
}
}
+
/**
* Add a Point to the graph.
*/
diff --git a/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml b/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml
index 07ceb7e933..4c2345a7d2 100644
--- a/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml
+++ b/modules/tests/src/test/resources/testxml/general/TestRelatePA.xml
@@ -157,7 +157,7 @@
- mPA - empty MultiPoint element
+ mPA - empty MultiPoint element for A
MULTIPOINT(EMPTY,(0 0))
@@ -181,6 +181,81 @@
true
+
+ mPA - empty MultiPoint element for A, on boundary of B
+
+ MULTIPOINT(EMPTY,(1 0))
+
+
+ POLYGON ((1 0,0 1,-1 0,0 -1, 1 0))
+
+
+
+ true
+
+
+ false
+ true
+ false
+ false
+ false
+ false
+ true
+ false
+ true
+ false
+
+
+
+ mPA - empty MultiPoint element for B
+
+ POLYGON ((1 0,0 1,-1 0,0 -1, 1 0))
+
+
+ MULTIPOINT(EMPTY,(0 0))
+
+
+
+ true
+
+
+ true
+ false
+ true
+ false
+ false
+ false
+ true
+ false
+ false
+ false
+
+
+
+ mPA - empty MultiPoint element for B, on boundary of A
+
+ POLYGON ((1 0,0 1,-1 0,0 -1, 1 0))
+
+
+ MULTIPOINT(EMPTY,(1 0))
+
+
+
+ true
+
+
+ false
+ false
+ true
+ false
+ false
+ false
+ true
+ false
+ true
+ false
+
+
PmA - empty MultiPolygon element