diff --git a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJson.java b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJson.java
index 20c312303..02494d190 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJson.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJson.java
@@ -21,7 +21,7 @@
/**
* Interface definition for structures defined in GeoJSON
- * format. copied from Spring Data Mongodb
+ * format. copied from Spring Data Mongodb
*
* @author Christoph Strobl
* @since 1.7
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonLineString.java b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonLineString.java
index 5c848e90b..bea76baf6 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonLineString.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonLineString.java
@@ -69,7 +69,7 @@ public static GeoJsonLineString of(Point first, Point second, Point... others) {
Assert.notNull(second, "Second point must not be null!");
Assert.notNull(others, "Additional points must not be null!");
- List points = new ArrayList<>();
+ List points = new ArrayList<>(2 + others.length);
points.add(first);
points.add(second);
points.addAll(Arrays.asList(others));
@@ -103,7 +103,7 @@ public static GeoJsonLineString of(GeoPoint first, GeoPoint second, GeoPoint...
Assert.notNull(second, "Second point must not be null!");
Assert.notNull(others, "Additional points must not be null!");
- List points = new ArrayList<>();
+ List points = new ArrayList<>(2 + others.length);
points.add(GeoPoint.toPoint(first));
points.add(GeoPoint.toPoint(second));
points.addAll(Arrays.stream(others).map(GeoPoint::toPoint).collect(Collectors.toList()));
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonMultiPoint.java b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonMultiPoint.java
index d81e30f52..410149b1c 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonMultiPoint.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonMultiPoint.java
@@ -69,7 +69,7 @@ public static GeoJsonMultiPoint of(Point first, Point second, Point... others) {
Assert.notNull(second, "Second point must not be null!");
Assert.notNull(others, "Additional points must not be null!");
- List points = new ArrayList<>();
+ List points = new ArrayList<>(2 + others.length);
points.add(first);
points.add(second);
points.addAll(Arrays.asList(others));
@@ -103,7 +103,7 @@ public static GeoJsonMultiPoint of(GeoPoint first, GeoPoint second, GeoPoint...
Assert.notNull(second, "Second point must not be null!");
Assert.notNull(others, "Additional points must not be null!");
- List points = new ArrayList<>();
+ List points = new ArrayList<>(2 + others.length);
points.add(GeoPoint.toPoint(first));
points.add(GeoPoint.toPoint(second));
points.addAll(Arrays.stream(others).map(GeoPoint::toPoint).collect(Collectors.toList()));
diff --git a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonPolygon.java b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonPolygon.java
index ffc613b30..2b8a6d879 100644
--- a/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonPolygon.java
+++ b/src/main/java/org/springframework/data/elasticsearch/core/geo/GeoJsonPolygon.java
@@ -189,7 +189,13 @@ public List getCoordinates() {
@SafeVarargs
private static List asList(T first, T second, T third, T fourth, T... others) {
- ArrayList result = new ArrayList<>(3 + others.length);
+ Assert.notNull(first, "First element must not be null!");
+ Assert.notNull(second, "Second element must not be null!");
+ Assert.notNull(third, "Third element must not be null!");
+ Assert.notNull(fourth, "Fourth element must not be null!");
+ Assert.notNull(others, "Additional elements must not be null!");
+
+ ArrayList result = new ArrayList<>(4 + others.length);
result.add(first);
result.add(second);