### Question:
PointList implements Iterable<GHPoint3D>, PointAccess { @Override public boolean equals(Object obj) { if (obj == null) return false; PointList other = (PointList) obj; if (this.isEmpty() && other.isEmpty()) return true; if (this.getSize() != other.getSize() || this.is3D() != other.is3D()) return false; for (int i = 0; i < size(); i++) { if (!NumHelper.equalsEps(getLatitude(i), other.getLatitude(i))) return false; if (!NumHelper.equalsEps(getLongitude(i), other.getLongitude(i))) return false; if (this.is3D() && !NumHelper.equalsEps(getElevation(i), other.getElevation(i))) return false; } return true; } PointList();  PointList(int cap, boolean is3D); @Override boolean is3D(); @Override int getDimension(); @Override void ensureNode(int nodeId); @Override void setNode(int nodeId, double lat, double lon); @Override void setNode(int nodeId, double lat, double lon, double ele); void set(int index, double lat, double lon, double ele); void add(double lat, double lon); void add(double lat, double lon, double ele); void add(PointAccess nodeAccess, int index); void add(GHPoint point); void add(PointList points); int size(); int getSize(); boolean isEmpty(); @Override double getLat(int index); @Override double getLatitude(int index); @Override double getLon(int index); @Override double getLongitude(int index); @Override double getElevation(int index); @Override double getEle(int index); void reverse(); void clear(); void trimToSize(int newSize); @Override String toString(); List<Double[]> toGeoJson(); List<Double[]> toGeoJson(boolean includeElevation); @Override boolean equals(Object obj); PointList clone(boolean reverse); PointList copy(int from, int end); PointList shallowCopy(final int from, final int end, boolean ensureConsistency); @Override int hashCode(); double calcDistance(DistanceCalc calc); void parse2DJSON(String str); GHPoint3D toGHPoint(int index); @Override Iterator<GHPoint3D> iterator(); static PointList from(LineString lineString); boolean isImmutable(); void makeImmutable(); static final PointList EMPTY; }### Answer:
@Test public void testEquals() { assertEquals(Helper.createPointList(), PointList.EMPTY); PointList list1 = Helper.createPointList(38.5, -120.2, 43.252, -126.453, 40.7, -120.95, 50.3139, 10.612793, 50.04303, 9.497681); PointList list2 = Helper.createPointList(38.5, -120.2, 43.252, -126.453, 40.7, -120.95, 50.3139, 10.612793, 50.04303, 9.497681); assertEquals(list1, list2); }